File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change 1+ // time: O(n+m) space: O(1)
2+ class Solution {
3+ func mergeTwoLists( _ list1: ListNode ? , _ list2: ListNode ? ) -> ListNode ? {
4+ // 전처리
5+ guard list1 != nil , list2 != nil else { return list1 ?? list2 }
6+ // 변수 정의
7+ var answer : ListNode ? = ListNode ( 0 )
8+ var top : ListNode ? = answer
9+ var list1 = list1
10+ var list2 = list2
11+ // 2개의 ListNode를 순회하면서 값을 보고 작은 순으로 저장 (ListNode에)
12+ while list1 != nil && list2 != nil {
13+ if let value1 = list1? . val, let value2 = list2? . val {
14+ if value1 < value2 {
15+ answer? . next = ListNode ( value1)
16+ list1 = list1? . next
17+ }
18+ else {
19+ answer? . next = ListNode ( value2)
20+ list2 = list2? . next
21+ }
22+ answer = answer? . next
23+ }
24+ }
25+ // 남은 노드들 연결하기
26+ answer? . next = list1 ?? list2
27+ return top? . next
28+ }
29+ }
You can’t perform that action at this time.
0 commit comments