节点定义为
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;
}
答案 0 :(得分:2)
head是列表中的第一个值,而head.next是第二个值。
例如,如果我的列表是1->2->3
,我的头将是1,而我的head.next将是2。
因此,分配head = 5
会将列表转为5->2->3
,这与分配head.next = 5
不同,后者会将列表更改为1->5->3
。
答案 1 :(得分: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
引用),并将其分配给{{1}当前指向的节点的next
成员}}