链接列表从头部删除

sam*_*rox 2 java linked-list data-structures

在只有一个Node情况的链表中,我尝试使用reoveFromHead()删除它; 我在toString()方法中得到一个nullpointer.

public void removeFromHead(){
    if(head==null)
        return;

    else{
    head=head.next;
    }
}

public String toString() {
    String result = " ";
    ListNode a=head;

    while (a.next!=null){
        result +=" "+a.item;
        a=a.next;
    }
    result+=" "+a.item;
    return result;
}  
Run Code Online (Sandbox Code Playgroud)

有谁可以指出错误在哪里?

T.G*_*T.G 5

如果head=head.next;给你null(因为没有更多的项目),那么你不能打电话,a.next因为anull.

public String toString() {
    String result = " ";
    ListNode a=head;
    if(a!=null){
        while (a.next!=null){
            result +=" "+a.item;
            a=a.next;
        }
    result+=" "+a.item;
    }
    return result;
} 
Run Code Online (Sandbox Code Playgroud)