LeetCode 21-2つの秩序チェーンテーブル(dummy node)を結合
4904 ワード
タイトルの説明
2つの昇順チェーンテーブルを新しい昇順チェーンテーブルに結合して返します.新しいチェーンテーブルは、指定された2つのチェーンテーブルのすべてのノードを接合することによって構成されます.
例:
入力:1->2->4、1->3->4出力:1->1->2->3->4->4
テーマ分析
主に二重ポインタで操作を実現し,二つの要素の大きさを比較することによってチェーンテーブルに小さく入る.この場合、ループを終了した後の2つの場合、L 1は空ではなく、L 2の残りの要素をチェーンテーブルの後に補うことも考えられる.L 2は空ではなく、L 1の残りの要素をチェーンテーブルの後に補充します.
コード#コード#
Javaコードは次のとおりです.
2つの昇順チェーンテーブルを新しい昇順チェーンテーブルに結合して返します.新しいチェーンテーブルは、指定された2つのチェーンテーブルのすべてのノードを接合することによって構成されます.
例:
入力:1->2->4、1->3->4出力:1->1->2->3->4->4
テーマ分析
主に二重ポインタで操作を実現し,二つの要素の大きさを比較することによってチェーンテーブルに小さく入る.この場合、ループを終了した後の2つの場合、L 1は空ではなく、L 2の残りの要素をチェーンテーブルの後に補うことも考えられる.L 2は空ではなく、L 1の残りの要素をチェーンテーブルの後に補充します.
コード#コード#
Javaコードは次のとおりです.
/**
* 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 dummy =new ListNode(0);
ListNode cur = dummy;
while(l1!=null&&l2!=null)
{
if(l1.val<l2.val)
{
cur.next=l1;
cur=cur.next;
l1=l1.next;
}
else
{
cur.next=l2;
cur=cur.next;
l2=l2.next;
}
}
while(l1!=null)
{
cur.next=l1;
cur=cur.next;
l1=l1.next;
}
while(l2!=null)
{
cur.next=l2;
cur=cur.next;
l2=l2.next;
}
return dummy.next;
}
}