我從一本書經歷了鏈接列表中的問題,但我無法理解它想說什麼?查找鏈接列表的中間元素
是不是:1. finding middle element but looking from starting
。這些線意味着什麼:
n is c????
LinkedListNode next = n.next; // next= d;
6 n.data = next.data; // n.data=d;
7 n.next = next.next; // c.next= e ???
我無法得到它,請你看看並告訴我嗎?
實施算法來刪除單個鏈接列表中間的節點,只給予該節點的訪問權限。
例如:
輸入:從鏈表節點 'C' A-> B-> C-> D->電子
結果:不返回任何結果,但新的鏈表看起來像A-> b-> d-> e解決方案:
只需將數據從下一個節點複製到此節點,然後刪除下一個節點。
注意:如果要刪除的節點是鏈接列表中的最後一個節點,則無法解決此問題。沒關係 - 你的面試官希望看到你指出這一點。在這種情況下,您可以考慮將其標記爲虛擬。這是你應該與面試官討論的問題。
1 public static boolean deleteNode(LinkedListNode n) {
2 if (n == null || n.next == null) {
3 return false; // Failure
4 }
5 LinkedListNode next = n.next;
6 n.data = next.data;
7 n.next = next.next;
8 return true;
9 }
這裏,有什麼能n
?你能解釋第5,6,7行嗎?另外,如果n
是最後一個元素,爲什麼它不工作?
我是新來的鏈接列表。我正在閱讀它的所有例子,但真的被困在這一個。
帖子和標題似乎不匹配。有兩個問題嗎?此外,你是對的,該算法不適用於最後一個元素。 –
@ZiyaoWei ,,號只有1個問題。我發佈的問題。 – user2387900
@ZiyaoWei爲什麼它不起作用......你也可以表示第5,6,7行嗎? – user2387900