21. Merge Two Sorted Lists

Posted lawrenceseattle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了21. Merge Two Sorted Lists相关的知识,希望对你有一定的参考价值。

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.

Example:

Input: 1->2->4, 1->3->4
Output: 1->1->2->3->4->4
/**
 * 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;
        ListNode dummy = new ListNode(0);
        ListNode p1 = l1,p2 = l2, cur = dummy;
        while(p1 != null && p2 != null) {
            if(p1.val < p2.val) {
                cur.next = p1;
                p1 = p1.next;
            }
            else {
                cur.next = p2;
                p2 = p2.next;
            }
            cur = cur.next;
        }
        if(p1 != null) {
            cur.next = p1;
        }
        if(p2 != null) {
            cur.next = p2;
        }
        return dummy.next;
    }
}

以上是关于21. Merge Two Sorted Lists的主要内容,如果未能解决你的问题,请参考以下文章

21. Merge Two Sorted Lists

[LeetCode] 21. Merge Two Sorted Lists_Easy tag: Linked List

LeetCode(21) - Merge Two Sorted Lists

21. Merge Two Sorted Lists

21. Merge Two Sorted Lists

LintCode - Merge Two Sorted List