給定單向鍊錶的頭指標和乙個節點指標,定義乙個函式在o(1)時間內刪除該節點。鍊錶節點與函式的定義如下:
public static class listnode
}將要刪除節點的next節點直接複製到該節點上。刪除原先的next節點
public
void
deletenode
(listnode head, listnode, node)
head.next=null;
}else
if(head==node)
else
}
在乙個排序的鍊錶中,如何刪除重複的節點?
我們需要設定乙個prenode來記錄當前節點的前乙個節點。如果當前節點的值與下乙個節點的值相等的話,就把prenode和下乙個節點的下乙個節點所連線起來。
public
void
deleteduplication
(listnode phead)
listnode prenode=null;
listnode curnode=phead;
while
(curnode!=null)
else
if(prenode==null)
else
curnode = tobedel;}}
}
劍指Offer面試題18 刪除鍊錶的節點
刪除鍊錶的節點 struct listnode void deletenode listnode plisthead,listnode ptobedelete if ptobedelete next nullptr 要刪除的節點不是尾節點 else 要刪除的節點為尾節點 p next nullptr...
面試題18 劍指offer 刪除鍊錶的節點
題目一 在o 1 時間刪除鍊錶結點。給定單向鍊錶的頭指標和乙個結點指標,定義乙個函式在o 1 時間刪除該結點。思路 由於單向鍊錶只有next指標,要刪除給定節點必須要知道它的上乙個節點,通常會從頭遍歷複雜度為o n 不滿足題目,可以將給定節點的下乙個節點的值賦值給給定節點,然後刪除給定節點的下乙個節...
劍指offer 面試題18 刪除鍊錶的節點
給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。注意 此題對比原題有改動 示例 1 輸入 head 4,5,1,9 val 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的函式之後,該鍊錶應變為 4 1 9.示例 2 輸入...