鍊錶刪去和為零的連續節點

2021-10-08 10:42:26 字數 608 閱讀 3280

鍊錶刪去和為零的連續節點

給你乙個鍊錶的頭節點 head,請你編寫**,反覆刪去鍊錶中由 總和 值為 0 的連續節點組成的序列,直到不存在這樣的序列為止。刪除完畢後,請你返回最終結果鍊錶的頭節點。

題解:要求刪除乙個連續節點和為0的組成的序列,

一、設定乙個帶頭結點的鍊錶指向當前鍊錶

二、利用三指標的方式操作p指標指向當前節點,q指標表示從當前節點開始向後遍歷

三、遍歷條件(sum0||q.next!=null)

如果sum0則讓h的next指向當前q的next(中間和為0的序列刪除)

如果遍歷結束sum!=0說明以當前節點往後遍歷的沒有sum==0的,那麼久跳到一下個節點繼續

時間複雜度:o(n*n)

控制項複雜度o(1)

public

class

removezerosumsublists

q=q.next;

sum+=q.val;}if

(sum!=0)

}return dummy.next;

}}

1171 從鍊錶中刪去總和值為零的連續節點

給你乙個鍊錶的頭節點 head,請你編寫 反覆刪去鍊錶中由 總和 值為 0 的連續節點組成的序列,直到不存在這樣的序列為止。刪除完畢後,請你返回最終結果鍊錶的頭節點。你可以返回任何滿足題目要求的答案。注意,下面示例中的所有序列,都是對 listnode 物件序列化的表示。示例 1 輸入 head 1...

刪除鍊錶連續重複的節點

題目 刪除鍊錶中連續重複的節點。核心方法,首先判定鍊錶不為空或只有乙個節點 宣告前一節點和當前節點,乙個標誌位判斷是否需要刪除該節點 當當前節點不為最後乙個節點且當前節點的值等於下一節點的值時,標誌位變為真 如果標誌位為假,上一節點和當前節點都向後移 標誌位為真,需要刪除當前節點和下一節點時,判斷再...

鍊錶的中間節點和判斷鍊錶是否為環形鍊錶

基本思想 設定兩個指標,都指向鍊錶的頭節點。兩個指標同時從鍊錶的頭節點出發,乙個指標每次走一步,另乙個指標每次走兩步。1.走得快的指標走到鍊錶末尾時,走得慢的指標剛好指向鍊錶的中間節點。2.走得快的指標如果追的上走得慢的指標,則鍊錶為環形鍊錶,反之不是。如下 include include usin...