반응형
문제
문제는 간단하다. 링크드리스트가 주어지는데, 그 중에서 중복된 값이 있다면 그 노드 자체를 제외하고 리턴한다.
예) Input: head = [1,2,3,3,4,4,5] Output: [1,2,5]
추가사항 :
- The number of nodes in the list is in the range [0, 300]. (노드의 개수는 0개이상, 300개 이하)
- -100 <= Node.val <= 100 (노드의 값은 -100부터 100까지)
- The list is guaranteed to be sorted in ascending order. ( input은 오름차순 정렬되어 있음. output도 정렬해야함.)
나의 솔루션
# Definition for singly-linked list.
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
class Solution:
def deleteDuplicates(self, head: ListNode) -> ListNode:
result = ListNode()
resultCurr = result
curr = head
cnt = 0
if curr is None:
return head
while curr.next:
if curr.val != curr.next.val and cnt == 0:
resultCurr.next = ListNode()
resultCurr = resultCurr.next
resultCurr.val = curr.val
elif curr.val == curr.next.val:
cnt += 1
elif curr.val != curr.next.val and cnt != 0:
cnt = 0
curr = curr.next
if cnt == 0:
resultCurr.next = ListNode()
resultCurr = resultCurr.next
resultCurr.val = curr.val
return result.next
결과는..
Runtime: 44 ms, Memory Usage: 14.4 MB
흠....
더 줄일 수 있는 방법을 찾아봐야겠다.
반응형
'알고리즘 | Algorithm' 카테고리의 다른 글
[LeetCode 리트코드] Find a Corresponding Node of a Binary Tree in a Clone of That Tree (0) | 2021.01.07 |
---|---|
[LeetCode 리트코드] Kth Missing Positive Number (0) | 2021.01.07 |
[프로그래머스] 정수삼각형 (DP, 파이썬) (0) | 2020.05.05 |
[프로그래머스] 도둑질 (DP, 파이썬) (0) | 2020.05.05 |
Firebase Login error 오류 해결 (0) | 2020.01.03 |