21. Merge Two Sorted Lists

来源:互联网 发布:游侠网 mac 编辑:程序博客网 时间:2024/05/19 09:13

Description: 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.

解题思路

这道题的思路不难,首先根据l1和l2的值确定head的位置,然后循环比较大小,修改next即可。注意跳出循环后还要有一部分后续工作。

Java-Solution:

public class Solution {    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {        if(l1 == null)  return l2;        if(l2 == null)  return l1;        ListNode head = l1;        ListNode pre = new ListNode(0);        if(l1.val > l2.val){    head = l2;  }        while(l1 != null && l2 != null){            if(l1.val <= l2.val){                pre.next = l1;                pre = l1;                l1 = l1.next;            }            else{                pre.next = l2;                pre = l2;                l2 = l2.next;            }        }        if(l1 == null){  pre.next = l2;  }        if(l2 == null){  pre.next = l1;  }        return head;    }}
0 0
原创粉丝点击