为什么此代码不会创建链接列表?

时间:2018-01-22 04:13:11

标签: java linked-list nodes

我试图在链接列表的末尾创建一个新节点,但不知怎的,它无法正常工作。请帮助!

class Node{
    int info;
    Node next;
}
Node head;


void insert(int val){
    Node nn = new Node();
    nn.info = val;
    Node cur = head;
    if(cur==null){
        cur = nn;
    }
    else{
        while(cur.next!=null){
            cur = cur.next;
        }
        cur.next = nn;
    }
}

2 个答案:

答案 0 :(得分:2)

对于初始案例,您并未更改head的指针,而head始终为null

if(cur==null){
   cur = nn;
}

应该是

if(head==null){
    head = nn;
}

答案 1 :(得分:0)

cur = nn;更改为head = nn;

说明:你可能会认为你正在改变头脑,但实际上你并没有。由于headnull,因此,在执行cur = headcur = nn时;不会将nn引用保存到head,它只会保留cur