從鍊錶中刪除總和值為0的連續節點

2022-03-23 15:47:41 字數 664 閱讀 5770

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

刪除完畢後,請你返回最終結果鍊錶的頭節點。

你可以返回任何滿足題目要求的答案。

(注意,下面示例中的所有序列,都是對 listnode 物件序列化的表示。)

示例 1:

輸入:head = [1,2,3,-3,4]

輸出:[1,2,4]

示例 3:

輸入:head = [1,2,3,-3,-2]

輸出:[1]

給你的鍊錶中可能有 1 到 1000 個節點。

對於鍊錶中的每個節點,節點的值:-1000 <= node.val <= 1000.

解答1:

public

static

listnode removezerosumsublists(listnode head)

/*不為0時h2向後移動

*/h2=h2.next;

/*加上h2的值

*/sum+=h2.val;

}/*當sum不為0時向後移動,為0時已經賦過值了,不向後移動

*/if(sum!=0)

}return

dumb.next;

}

view code

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

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

從單向鍊錶中刪除指定值的節點

輸入乙個單向鍊錶和乙個節點的值,從單向鍊錶中刪除等於該值的節點,刪除後如果鍊錶中無節點則返回空指標。鍊錶結點定義如下 struct listnode 詳細描述 本題為考察鍊錶的插入和刪除知識。鍊錶的值不能重複 構造過程,例如 1 2 3 2 5 1 4 5 7 2 最後的鍊錶的順序為 2 7 3 1...

從單向鍊錶中刪除指定值的節點

輸入乙個單向鍊錶和乙個節點的值,從單向鍊錶中刪除等於該值的節點,刪除後如果鍊錶中無節點則返回空指標。鍊錶結點定義如下 struct listnode int m nkey listnode m pnext 詳細描述 本題為考察鍊錶的插入和刪除知識。鍊錶的值不能重複 構造過程,例如 1 2 3 2 5...