코린이의 소소한 공부노트

[LeetCode/Easy] 21. Merge Two Sorted Lists 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 21. Merge Two Sorted Lists

무지맘 2023. 1. 5. 23:28

1. Input

1) 연결 리스트 list1

2) 연결 리스트 list2

- 두 리스트 모두 오름차순으로 정렬되어있다.

 

2. Output

1) list1list2를 합쳐서 오름차순으로 정렬된 결과 리스트 반환

 

3. Constraint

1) 각각의 리스트의 노드의 수는 [0, 50]이다.

2) -100 <= Node.val <= 100

 

4. Example

Input: list1 = [1,2,4], list2 = [1,3,4] -> Output: [1,1,2,3,4,4]

 

5. Code

1) 첫 코드(2023/01/05)

/**
* Definition for singly-linked list.
* public class ListNode {
*     int val;
*     ListNode next;
*     ListNode() {}
*     ListNode(int val) { this.val = val; }
*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/

ListNode answer = new ListNode();
if(list1==null) answer = list2;
else if(list2==null) answer = list1;
else if(list1.val <= list2.val){
    answer.val = list1.val;
    answer.next = mergeTwoLists(list1.next, list2);
} else{
    answer.val = list2.val;
    answer.next = mergeTwoLists(list1, list2.next);
}
return answer;