在链接列表中head = something之间的区别是什么?和head.next =某事; [关闭]

问题描述 投票:-6回答:2

节点定义为

class Node {
    int data;
    Node next;
}

Node RemoveDuplicates(Node head) {

    Node temp=head;
    while(temp.next!=null){
        if(temp.data == temp.next.data){
            temp.next=temp.next.next;
        } else { 
            System.out.println(temp.data);
            temp=temp.next;
        }
    }
    return head;
}
java linked-list
2个回答
2
投票

head是列表中的第一个值,而head.next是第二个值。

例如,如果我的列表是1->2->3我的头将是1而我的head.next将是2.所以分配head = 5会将列表转换为5->2->3这与分配head.next = 5不同,后者会将列表更改为1->5->3


1
投票

head大概是你的LinkedList班的成员(你没有展示)。它是对Node对象的引用,head = something; 对象是列表中的第一个对象。该声明

something

假设Node也是something参考,并且它将head的值赋予something。另一种说法是,无论head指向的是head.next现在也指出了什么。

表达式Node意味着查看head指向的next并返回Node成员的值(这也是head.next = something_else; 参考)。在作业的左侧,如

something_else

它意味着取Node的值(也必须是next引用),并将其分配给head当前指向的节点的qazxswpoi成员。

© www.soinside.com 2019 - 2024. All rights reserved.