[LeetCode][Java] Delete Duplicate From Sorted List
문제
Given the head
of a sorted linked list, delete all duplicates such that each element appears only once. Return the linked list sorted as well.
Example 1:
Input: head = [1,1,2]
Output: [1,2]
Example 2:
Input: head = [1,1,2,3,3]
Output: [1,2,3]
제한사항
- The number of nodes in the list is in the range [0, 300].
- -100 Node.val 100
- The list is guaranteed to be sorted in ascending order.
접근
이전 노드와 다음 노드를 변수로 저장을 했어요. 그리고,
- 이전 노드 값과 다음 노드 값이 같으면 이전 노드의
next
에 다음 노드의next
를 저장- 그렇지 않으면 이전 노드에 다음 노드를 저장
- 마지막에 다음 노드를 다음 노드의
next
를 저장해요.- 다음 노드가
null
이 될 때까지 반복해요.
그리고 Leet Code
는 ListNode
문제가 나오면 파라미터가 null
인 경우에 대한 예외처리를 항상 해줘야 해요. 오랜만에 보니 몇몇 놓치고 있네요. 반성합니당 ㅠ
답안
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode deleteDuplicates(ListNode head) {
if(null == head)
return null;
ListNode answer = head;
ListNode prevNode = head;
ListNode nextNode = head.next;
while(null != nextNode){
if(prevNode.val == nextNode.val){
prevNode.next = nextNode.next;
} else{
prevNode = nextNode;
}
nextNode = prevNode.next;
}
return answer;
}
}
Author And Source
이 문제에 관하여([LeetCode][Java] Delete Duplicate From Sorted List), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@redgem92/LeetCodeJava-Delete-Duplicate-From-Sorted-List저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)