面試題18 刪除鍊錶中的節點(JAVA實現)

2021-08-29 13:53:09 字數 807 閱讀 2851

題目一:在o(1)時間內刪除鍊錶節點

給定單向鍊錶的表頭指標和乙個節點指標,定義乙個函式在o(1)時間內刪除節點。

package jianzhi_offer;

public class deletenodeinlist

}public static void deletenode(listnode head,listnode node)

head.next = null;

} //2刪除的節點是頭節點

else if(node == head)

//3刪除的節點是中間的普通節點

else

} public static void main(string args)

}}

題目二:刪除鍊錶中重複的節點

在乙個排序的鍊錶中,如何刪除重複的節點?

package jianzhi_offer;

public class deleteduplication

} public static listnode deleteduplication(listnode head)

else

if(prenode == null)

head = pnext;

else

prenode.next = pnext;

pnode = pnext;}}

return head;

} public static void main(string args)

}}

面試題18 刪除鍊錶的節點

給定單向鍊錶的頭指標和乙個要刪除的節點指標,定義乙個函式刪除該節點。思路 使用o 1 的方法來解決,將要刪除的的節點用下乙個節點來覆蓋就相當於是刪除了原節點。但有兩種特殊情況需要考慮,但鍊錶只有頭節點,即鍊錶只有乙個節點。二刪除的節點是尾節點,只用從頭for一遍 class listnode pub...

面試題18 刪除鍊錶的節點

題目描述 給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。注意 此題對比原題有改動 示例 1 輸入 head 4,5,1,9 val 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的函式之後,該鍊錶應變為 4 1 9.示例...

面試題18 刪除鍊錶的節點

給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。注意 此題對比原題有改動 示例 1 輸入 head 4,5,1,9 val 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的函式之後,該鍊錶應變為 4 1 9.示例 2 輸入...