请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

代码出现空指针异常

  • 在主方法内向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);
}

}

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2020-03-07 15:54:51

head 传 null,removeElements 就返回了 null,你的 s.removeElements(head,1).toString()
里相当于调用了 null 的 toString,空指针异常。


继续加油!:)

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信