File tree Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public ListNode mergeTwoLists (ListNode list1 , ListNode list2 ) {
3
+ ListNode answer = new ListNode ();
4
+ ListNode mergePointer = answer ;
5
+ // ๋จธ์ง๋ฅผ ์ํํ ํฌ์ธํฐ์ ์ ๋ต์ ๋ฐํํ ํฌ์ธํฐ ์ด 2๊ฐ์ ํฌ์ธํฐ๊ฐ ํ์ํฉ๋๋ค.
6
+ // ์ด๊ธฐํ์์ ์ ๋ต ํฌ์ธํฐ์ ๋จธ์ง ํฌ์ธํฐ๊ฐ ๊ฐ์ ๋
ธ๋ ์ฃผ์๋ฅผ ๋ฐ๋ผ๋ณด๊ฒ ํด์ผ ํฉ๋๋ค.
7
+ // ๋จธ์ง ํฌ์ธํฐ๊ฐ ์ฐ์ฐ์ ๊ณ์ํ๋๋ผ๋ ์ ๋ต ํฌ์ธํฐ์ next๋ ์ ๋ ฌ๋ ์ฒซ๋ฒ์งธ ๋
ธ๋๋ฅผ ๊ฐ๋ฆฌํฌ ๊ฒ์
๋๋ค.
8
+ // ๋จธ์ง ํฌ์ธํฐ๋ ์ฐ์ฐ์ ๊ณ์ํ๋ฉด์ ์ฐธ์กฐ ์ฃผ์๊ฐ ๋ณ๊ฒฝ๋๊ธฐ ๋๋ฌธ์ ๊ทธ ์์ฒด๋ก ๋ฐํํ๋ฉด ์๋ฉ๋๋ค.
9
+
10
+ while (list1 != null && list2 != null ) {
11
+ // list1์ ๊ฐ์ด list2์ ๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด list1์ ๋
ธ๋๋ฅผ ๋ณํฉ
12
+ if (list1 .val <= list2 .val ) { // wrong: ๊ฐ์ด ๋ ์๊ฑฐ๋, ๋๋ ๊ฐ์ด ๋์ผํ ๊ฒฝ์ฐ list1์ ์ฐ์ ์ํด์ผ ํฉ๋๋ค.
13
+ mergePointer .next = list1 ;
14
+ list1 = list1 .next ;
15
+ } else {
16
+ // ๊ทธ๋ ์ง ์์ผ๋ฉด list2์ ๋
ธ๋๋ฅผ ๋ณํฉ
17
+ mergePointer .next = list2 ;
18
+ list2 = list2 .next ;
19
+ }
20
+ mergePointer = mergePointer .next ;
21
+ }
22
+
23
+ // ๋ ๋ฆฌ์คํธ๋ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ์ ์ ๋ก ํ๊ธฐ ๋๋ฌธ์ ํ ๋ฆฌ์คํธ์ ๊ธธ์ด ๋์ ๋๋ฌํ๋ฉด ๋๋จธ์ง๋ ๊ทธ์ ํต ๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ํฉ๋๋ค.
24
+ // ๋ ๋ฆฌ์คํธ ์ค์์ null์ด ์๋ ๋ฆฌ์คํธ ๋
ธ๋๋ก ๋จธ์ง ํฌ์ธํฐ์ next์ ์ฐ๊ฒฐํฉ๋๋ค.
25
+ if (list1 != null ) {
26
+ mergePointer .next = list1 ;
27
+ } else {
28
+ mergePointer .next = list2 ;
29
+ }
30
+ return answer .next ;
31
+ }
32
+ }
You canโt perform that action at this time.
0 commit comments