반응형
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(알고리즘 문제풀이 접근)
반응형
'알고리즘 풀이' 카테고리의 다른 글
.leetcode(234. Palindrome Linked List) (0) | 2022.05.02 |
---|---|
.leetcode(328. Odd Even Linked List) (0) | 2022.05.02 |
.leetcode(19. Remove Nth Node From End of List) (0) | 2022.05.01 |
.leetcode(160. Intersection of Two Linked Lists) (0) | 2022.05.01 |
.leetcode(141. Linked List Cycle) (1) | 2022.04.29 |