待解决问题:当两个链表的值有相同的时候
先放个不完整代码
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode Merge(ListNode list1,ListNode list2) {
if(list1==null){
return list2;
}
if(list2==null){
return list1;
}
ListNode result=new ListNode(0);
ListNode newList=result;//是newList指向result的意思,即指向创建的头结点,并负责移动。
while(list1!=null&&list2!=null){
if(list1.val>list2.val){
newList.next=list2;
list2=list2.next;
}else{
newList.next=list1;
list1=list1.next;
}
newList=newList.next;
//if(list1.val==list2.val){
//newList.next=list1;
//list1=list1.next;
//list2=list2.next;
//newList=newList.next;
//}
}
while(list1==null&&list2!=null){
newList.next=list2;
list2=list2.next;
newList=newList.next;
}
while(list2==null&&list1!=null){
newList.next=list1;
list1=list1.next;
newList=newList.next;
}
return result.next;
}
}