21. Merge Two Sorted Lists

Posted Carl_Hugo

tags:

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

https://leetcode.com/problems/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) 
        ListNode newListHead = new ListNode(0);
        ListNode p1 = l1;
        ListNode p2 = l2;
        ListNode p3 = newListHead;
        while(p1!=null&&p2!=null)
            if(p1.val<=p2.val)
                p3.next = p1;
                p1 = p1.next;
            else
                p3.next = p2;
                p2 = p2.next;
            
            p3 = p3.next;
        
        if(p1!=null)
            p3.next = p1;
        
        if(p2!=null)
            p3.next = p2;
        
        return newListHead.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