question:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。(单调不减的意思是要么递增要么不变,但是肯定不会减小)
resolution:
public ListNode Merge(ListNode list1,ListNode list2) {
//定义一个新的链表头部
ListNode head = new ListNode(0);//给head赋一个初值,便于指针的移动
ListNode root = head;//将头部指针复制一下,用于返回输出的时候用,不然到时候head已经指向了尾部
//当List1和List2一样长
while (list1 != null && list2 != null){
//比较list1的head和list2的head大小
if(list1.val > list2.val){
head.next = list2;
list2 = list2.next;
}else {
head.next = list1;
list1 = list1.next;
}
head = head.next;
}
//当list1长
if(list1 != null){
head.next = list1;
}
//当list2长
if(list2 != null){
head.next = list2;
}
return root.next;
}