0
我正在嘗試創建一個通過循環添加到的LinkedList。爲什麼我不能修改在所述循環內循環外聲明的LinkedList?
public class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
public class Something {
public void method() {
ListNode node = null;
ListNode out = node;
for (int i = 0; i < 10; i++) {
node = new ListNode(i);
node = node.next;
}
return out;
}
}
這部作品在我的頭的方式是這樣的:
node->null;
node->null;
^
|
out
out->0->null
^
|
node
...
out->0->1->2->3->4->5->6->7->8->9->null
^
|
node
然而,out
返回NULL,彷彿循環永遠不會跑的。我如何獲得我描述的行爲?
您最初將'node'的值賦給'out',它是'null'。那之後你從來沒有改變過。你對變量和引用感到困惑嗎? –
您似乎對引用的工作方式感到困惑。僅僅因爲你將_out_指向_node_並不意味着每當你將_node_指向某個事物時,_out_都跟在後面,並指向那個。 –