Google 태그 관리자 아이콘

알고리즘 풀이

.leetcode(203. Remove Linked List Elements)

silvergoni 2022. 5. 2. 08:10
반응형

https://leetcode.com/problems/remove-linked-list-elements/

 

1. 2022/05/02 시도

소요시간: 6분

class Solution {
    public ListNode removeElements(ListNode head, int val) {
        ListNode dummy = new ListNode();
        dummy.next = head;
        ListNode prev = dummy;
        ListNode current = dummy.next;
        while ( current != null) {
            if (current.val == val) {
                prev.next = current.next;
            } else {
                prev = current;
            }
            current = current.next;
        }

        return dummy.next;
    }
}

풀이 접근 과정

모든 요소가 지워질 수 있는 가능성이 있기때문에 dummy를 세팅한다.

이전값을 저장해두고 현재 값이 삭제대상 노드이면 이전값의 next의 값을 현재노드의 다음값으로 연결해준다.

 

느낀점

  • 모든 요소가 다 제거될 수 있다는 가능성을 간과했다. 꼭 기억해둘 필요가 있다.

알고리즘 정리노트: .leetcode(알고리즘 문제풀이 접근)

반응형