Question:

  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.

Analysis:

  1)两个都是空串;

  2)一个是空串;

  3)新建一个伪头结点,用于新串的连接;

  4)最后还要检查是否有一个串还有数字。

Answer:

public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        ListNode p1 = l1;
        ListNode p2 = l2;
        
        if(l1 == null && l2 == null)
            return null;
        if(l1 == null && l2 != null)
            return l2;
        if(l1 != null && l2 == null)
            return l1;
        
        ListNode fakeHead = new ListNode(0);
        ListNode p = fakeHead;
        
        while (p1 != null && p2 != null){
            if (p1.val <= p2.val) {
                p.next = p1;
                p1 = p1.next;
                p = p.next;
            } else {
                p.next = p2;
                p2 = p2.next;
                p = p.next;
            }
        }
        
        if(p1 != null)
            p.next = p1;
        if(p2 != null)
            p.next = p2;
        return fakeHead.next;
        
      }

 

相关文章:

  • 2021-12-27
  • 2021-08-29
  • 2021-07-04
  • 2021-09-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-06
  • 2021-07-30
  • 2022-02-01
  • 2022-01-04
相关资源
相似解决方案