合并两个排序的链表
合并两个排序的链表
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
这道题的思路还是比较重要的
基本思路如下:
新建一个节点,每次都把选下来的小的拉到这条链上。如果有一个链到末尾了,就把另外一个剩下的都接上
这个算法的好处是很简洁
public class Solution {
public ListNode Merge(ListNode list1,ListNode list2) {
ListNode h = new ListNode(-1);
ListNode cur = h;
while(list1 != null && list2 !=null){
if(list1.val<=list2.val){
cur.next = list1;
list1 = list1.next;
}else{
cur.next = list2;
list2 = list2.next;
}
cur = cur.next;
}
if(list1!=null) cur.next = list1;
if(list2!=null) cur.next = list2;
return h.next;
}
}

浙公网安备 33010602011771号