//虚拟一个头节点,然后将两个单链表中较小的值赋给当前节点的下一个节点 //虚拟的头节点list //定义一个cur用来指向当前的虚拟头节点
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 list=new ListNode(-1);
ListNode cur=list;
while(list1!=null&&list2!=null)
{
if(list1.val>list2.val)
{
cur.next=list2;
list2=list2.next;
}
else{
cur.next=list1;
list1=list1.next;
}
//重要
cur=cur.next;
}
//最后把剩下的list1或list2加入到合并的链表中
if(list1!=null)
{
cur.next=list1;
}
if(list2!=null)
{
cur.next=list2;
}
return list.next;
}
}