标签:
题目描述:/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int x) { val = x; } * } */ public class Solution { public ListNode MergeTwoLists(ListNode l1, ListNode l2) { if(l1 == null){ return l2; } if(l2 == null){ return l1; } // merge l2 into l1 ListNode head = l1; while(l2 != null){ if(l1.next != null){ if(l2.val >= l1.val && l2.val <= l1.next.val){ var t = Remove(ref l2); t.next = l1.next; l1.next = t; } else if(l2.val < l1.val){ var t = Remove(ref l2); t.next = l1; head = t; l1 = t; } else{ l1 = l1.next; } } else{ if(l1.val < l2.val){ l1.next = Remove(ref l2); } else{ var t = Remove(ref l2); t.next = l1; head = t; l1 = t; } } } return head; } private ListNode Remove(ref ListNode n) { ListNode t = new ListNode(n.val); if(n.next == null){ n = null; } else{ n.val = n.next.val; n.next = n.next.next; } return t; } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
LeetCode -- Merge Two sorted lists
标签:
原文地址:http://blog.csdn.net/lan_liang/article/details/48261603