代码出现空指针异常
来源:5-1 Leetcode中和链表相关的问题
InformationDS
2020-03-07
- 在主方法内向removeElements方法内传入head参数为null时就会触发,导致无法进行下面的判断,调试时在方法内部进行判断head是否为空前就触发了异常,不知道如何解决
class Solution {
public ListNode removeElements(ListNode head, int val) {
if (head == null){
return null;
}
while(head.val == val && head != null){
ListNode delNode = head;
head = head.next;
delNode.next = null;
}
ListNode prev = head;
while (prev.next != null){
if(prev.next.val == val){
ListNode delNode = prev.next;
prev.next = delNode.next;
delNode.next = null;
}
else{
prev = prev.next;
}
}
return head;
}
public static void main(String[] args) {
ListNode head = null;
Solution s = new Solution();
String s1 = s.removeElements(head,1).toString();
System.out.println(s1);
}
}
写回答
1回答
-
liuyubobobo
2020-03-07
head 传 null,removeElements 就返回了 null,你的 s.removeElements(head,1).toString()
里相当于调用了 null 的 toString,空指针异常。继续加油!:)
00
相似问题