Merge Two Sorted Lists

来源:互联网 发布:linux安装rdesktop 编辑:程序博客网 时间:2024/06/17 00:05

题目: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.

思路:用归并排序中的merge思路。time:O(n) space:O(1)

注意:1.ListNode head=l3; 2.  l3=l3.next;

/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { *         val = x; *         next = null; *     } * } */public class Solution {    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {        ListNode l3=new ListNode(-1); ListNode head=l3;//merge others  while(l1!=null||l2!=null){ if(l1==null){ l3.next=l2; break; }else if(l2==null){ l3.next=l1; break; }else if(l1.val<l2.val){ l3.next=l1; l1=l1.next; }else{ l3.next=l2; l2=l2.next; } l3=l3.next; } return head.next;    }}
0 0
原创粉丝点击