合并两个排序的链表
题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
从链表头开始依次比较两个链表,然后从小到大依次串接起来,然后再返回链表头,即可完成。
public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if(list1==null) return list2; if(list2==null){ return list1; } ListNode head=null; if(list1.val<list2.val){ head=list1; list1=list1.next; }else{ head=list2; list2=list2.next; } ListNode temp=head; while(list1!=null&&list2!=null){ if(list1.val<list2.val){ temp.next=list1; list1=list1.next; temp=temp.next; }else{ temp.next=list2; list2=list2.next; temp=temp.next; } } if(list1==null){ temp.next=list2; }else if(list2==null){ temp.next=list1; } return head; } }