Chloe Jungah Kim
Chloe Jungah Kim
A blogger who writes about everything.

[Leetcode] 83. Remove Duplicates from Sorted List

https://leetcode.com/problems/remove-duplicates-from-sorted-list/
[Leetcode] 83. Remove Duplicates from Sorted List

정렬된 숫자로 이루어진 Linked List가 하나 주어졌을 때, 모든 숫자가 단 한 번만 등장하도록 중복을 제거한 리스트를 만드는 문제

Example 1

  • Input : head = [1, 1, 2]
  • Output : [1, 2]

Example 2

  • Input : head = [1, 1, 2, 3, 3]
  • Output : [1, 2, 3]

Note

이전과 숫자가 동일한 노드라면, 앞 노드와 뒷 노드를 연결하여 해당 노드를 리스트에서 삭제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def deleteDuplicates(self, head: ListNode) -> ListNode:
        if not head :
            return head
        before, now = head, head
        appear = head.val        
        while before.next :
            now = before.next
            if now.val == appear :
                before.next = now.next
                now = None
            else :
                appear = now.val
                before = now
        return head