두 LinkedList ListNode를 합치는 문제
sudo code
null 이면 다른 node return
두 node 비교하고 값이 작은 수를 넣고 큰 수는 next로 넣으면 되지 않을까
근데 재귀함수로
n1.val compare n2.val
answer(작은거) 가리킨다 큰거 -> answer.next(큰거)
풀이
/**
* 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; }
* }
*/
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2)
{
// 접근
// 두 ListNode를 합치는 문제
// l1.val compare l2.val
// 작은것을 answer에 넣고 next는 그 다음 작은 수를 가리킨다.
// 일단 null처리 부터
// 관련 Topics 보니 Recursion이 있다 재귀로 풀어보자
if(l1 == null) return l2;
if(l2 == null) return l1;
// answer 생성
ListNode answer;
// 비교 작으면 작은게 현재 답에 들어가고 큰 수가 다음(next)에 들어감
if(l1.val < l2.val)
{
answer = l1;
answer.next = mergeTwoLists(answer.next, l2);
}
else
{
answer = l2;
answer.next = mergeTwoLists(answer.next, l1);
}
return answer;
}
}
Runtime: 0 ms, faster than 100.00% of Java online submissions for Merge Two Sorted Lists.
Memory Usage: 38.5 MB, less than 35.61% of Java online submissions for Merge Two Sorted Lists.
건강이 최고다 모두 건강하시길 기원합니다
'Algorithm > LeetCode' 카테고리의 다른 글
[LeetCode] - Climbing Stairs (0) | 2021.04.08 |
---|---|
[LeetCode] Convert Binary Number in a Linked List to Integer (0) | 2021.04.03 |
[LeetCode] Majority Element (0) | 2021.03.19 |
HashMap Sorting in java (0) | 2021.03.18 |
[LeetCode] Lemonade Change (1) | 2021.03.17 |