我想了解node1.next = node3
和node2 = node3
之间的区别。 在链表中,node1.next = node3
摆脱node2
。但node1.next
指向node2
反正为什么node2 = node3
不能在下面的代码中工作?在java中单向链表中删除一个节点
public class LinkedList {
LinkedList head = null;
LinkedList next = null;
int data = 0;
public static void main(String[] args) {
LinkedList node1 = new LinkedList();
LinkedList node2 = new LinkedList();
LinkedList node3 = new LinkedList();
node1.data = 1;
node1.next = node2;
node2.data = 2;
node2.next = node3;
node3.data = 3;
node3.next = null;
node2 = node3;// If I replace with node1.next = node3; it works
LinkedList h = node1;
while (h.next != null) {
System.out.println(h.data);
h = h.next;
}
}
}
与所有链接列表问题一样,绘制包含框和箭头的图。然后你会明白。 –
这可能会有帮助 - [是Java“通过引用”?](http://stackoverflow.com/q/40480)不是100%相同的问题,但非常接近。 – Dukeling