输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
解题思路:链表1的头节点的值小于链表2的头节点的值,因此链表1的头节点将是合并后链表的头节点。
public class Solution {
public ListNode Merge(ListNode list1,ListNode list2) {
if(list1==null&&list2==null){
return null;
}
if(list1==null&&list2!=null){
return list2;
}
if(list2==null&&list1!=null){
return list1;
}
ListNode head = new ListNode(0);
ListNode pListNode = head;
ListNode p1 = list1;
ListNode p2 = list2;
while(p1!=null&&p2!=null){
if(p1.val>p2.val){
pListNode.next = p2;
p2 = p2.next;
}else {
pListNode.next = p1;
p1 = p1.next;
}
pListNode = pListNode.next;
}
if(p1==null){
pListNode.next = p2;
}
if(p2==null){
pListNode.next = p1;
}
return head.next;
}
}