我正在尝试将两个排序的单链接合并,并且在比较两个列表项的值时遇到空指针异常。
我编写了一个类,其中接收两个排序的单链接列表,并在合并两个链接列表之后以排序的方式返回新的单链接列表
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode list = new ListNode();
ListNode temp = list;
while(l1 != null || l2 != null){
if(l1.val >= l2.val){
ListNode newnode = new ListNode(l1.val);
temp.next = newnode;
temp = newnode;
l1 =l1.next;
} else {
ListNode newnode = new ListNode(l2.val);
temp.next = newnode;
temp = newnode;
l2= l2.next;
}
}
if(l1 == null){
while(l2 != null){
ListNode newnode = new ListNode(l2.val);
temp.next = newnode;
temp = newnode;
l2 =l2.next;
}
}
while(l1!=null){
ListNode newnode = new ListNode(l1.val);
temp.next = newnode;
temp = newnode;
l1 =l1.next;
}
return list;
}
}
运行时错误,我希望返回排序后的新单链接列表,但会得到空指针异常