Merge two sorted linked lists and return it as a new sorted list. The new list should be made by splicing together the nodes of the first two lists.
오름차순순으로 리스트를 합치자.
Example 1:
Input: l1 = [1,2,4], l2 = [1,3,4] Output: [1,1,2,3,4,4]
Example 2:
Input: l1 = [], l2 = [] Output: []
Example 3:
Input: l1 = [], l2 = [0] Output: [0]
풀이:
-포인터만 잘 활용한다면 쉬운 문제이다.
- 난이도: easy
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
ListNode *result = new ListNode(0);
ListNode *cur = result;
while(l1!=nullptr || l2!=nullptr){
if(l1 == nullptr){
cur->next = l2;
break;
}
if(l2 == nullptr){
cur->next = l1;
break;
}
if(l1 -> val < l2 ->val){
cur -> next = l1;
l1 = l1->next;
}else {
cur -> next = l2;
l2 = l2->next;
}
cur = cur->next;
}
return result -> next;
}
};
'알고리즘 문제풀이 > leetcode' 카테고리의 다른 글
[leetcode 32] Longest Valid Parentheses (1) | 2020.10.17 |
---|---|
[leetcode 33] Search in Rotated Sorted Array (0) | 2020.10.17 |
[leetcode 22] Generate Parentheses (0) | 2020.10.15 |
[leetcode 20] Valid Parentheses (0) | 2020.10.15 |
[leetcode 19] Remove Nth Node From End of List (0) | 2020.10.15 |
댓글