HackerRank - Merge two sorted linked lists
Hacker Rank의 Merge two sorted linked lists 문제 풀이입니다.
문제:
2개의 Linked List가 주어졌을 때, 하나의 Linked List로 합치는 문제입니다.
단, 리스트는 소팅이 되어 있어야 합니다.
코드:
def mergeLists(head1, head2):
n1 = head1
n2 = head2
result = SinglyLinkedList()
while True:
if n1 == None and n2 == None:
break
elif n2 == None or (n1 is not None and n1.data < n2.data):
result.insert_node(n1.data)
n1 = n1.next
else:
result.insert_node(n2.data)
n2 = n2.next
return result.head
풀이:
두 리스트의 값들을 비교해주면서 작은 값들을 새로운 리스트에 넣어줬습니다.
리스트 끝에 도착하면 None 값이 나오기 때문에 이를 주의해서 풀어주어야 합니다.
주의사항:
- 리스트의 끝값이 None 값이 나온다. (None 값이 접근하면 런타임 에러가 뜬다)
- 리턴 값을 잘 확인하자. (링크드리스트 자체를 넘겨서 오류 찾는데 10분 넘게 걸렸다...)
Author And Source
이 문제에 관하여(HackerRank - Merge two sorted linked lists), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@young221718/HackerRank1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)