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コードは次のとおりです.
/**
 * 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;

        
    }
}