题解 | #合并两个排序的链表#
合并两个排序的链表
http://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337
import java.util.*;
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode Merge(ListNode list1,ListNode list2) {
ListNode head = new ListNode(0);
ListNode cur = head;
while(list1!=null&&list2!=null){
if(list1.val<=list2.val){
cur.next = list1;
list1 = list1.next;
cur = cur.next;
}else{
cur.next = list2;
list2 = list2.next;
cur = cur.next;
}
}
if(list1==null)
cur.next = list2;
else
cur.next = list1;
return head.next;
}
}
总结:
1.需要注意的是在插入结点时,需要考虑哪个结点为第一个结点是否为空,为了简便判断可以新建一个头结点head作为第一个结点,结果直接返回head.next()即可。