标签:== list log 思路 merge nod 合并 pre 两个指针
题目:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
思路:扫一遍维护递增,最后再添加原链表可能未被添加的部分
public ListNode Merge(ListNode list1,ListNode list2) { if(list1==null&&list2==null) return null; if(list1==null&&list2!=null) return list2; if(list1!=null&&list2==null) return list1; ListNode res1=new ListNode(-1); ListNode res=res1; //要有两个指针指向创建的头结点,一个指针会走到末尾,返回的时候已经不能用了 while(list1!=null&&list2!=null){ if(list1.val<=list2.val){ res.next=list1; res=res.next; list1=list1.next; }else{ res.next=list2; res=res.next; list2=list2.next; } } while(list1 != null) { res.next = list1; res = res.next; list1 = list1.next; } while(list2 != null) { res.next = list2; res = res.next; list2 = list2.next; } return res1.next; }
标签:== list log 思路 merge nod 合并 pre 两个指针
原文地址:http://www.cnblogs.com/team42/p/6681902.html