タイトル
2は、新たなソートされたリストとリターンにリストを命じました。新しいリストは、二つのリストで構成与えられたモザイク内のすべてのノードです。
例:
入力:1-> 2-> 4、1-> 3-> 4
出力:1-> 1-> 2-> 3-> 4-> 4
出典:滞在ボタン(LeetCode)
:リンクhttps://leetcode-cn.com/problems/merge-two-sorted-lists
すべてのネットワークからの控除が著作権を保有。商業転載は、ソースを明記してください許可公式、非商用の転載をご連絡ください。
問題への解決策(RPM)
三つの要素を再帰的に:
- 終了条件:エンドのL2 L1が空または空であるときに、2つは、リストL1およびL2と命名されています
- 戻り値:各レイヤーの呼び出しは、ソートされたリストの先頭を返します
- この再帰レベルの内容:ヴァル・L1の値が小さい場合は、ソートされたリストのヘッドと、その後l1.next接触、L2共感
コード
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if (l1 == null) {
return l2;
}
if (l2 == null) {
return l1;
}
if (l1.val < l2.val) {
l1.next = mergeTwoLists(l1.next, l2);
return l1;
} else {
l2.next = mergeTwoLists(l2.next, l1);
return l2;
}
}
}