1325 刪除給定值的葉子節點

2021-10-02 21:25:54 字數 498 閱讀 9521

給你一棵以 root 為根的二叉樹和乙個整數 target ,請你刪除所有值為 target 的 葉子節點 。

注意,一旦刪除值為 target 的葉子節點,它的父節點就可能變成葉子節點;如果新葉子節點的值恰好也是 target ,那麼這個節點也應該被刪除。

也就是說,你需要重複此過程直到不能繼續刪除。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution

};

這題在想的時候沒有仔細思考 沒有想清楚使用不同的遍歷方式會對實現有這麼大的影響,因為這道題要一直重複刪除葉子結點,只有以後序遍歷的方式才是最好訪問根結點,因此可以實現重複刪除葉子結點的操作。一開始沒有多想就習慣的使用了前序遍歷,使得後面面臨著要重複判斷是否存在繼續刪除的情況 使得**變得複雜。需要多學習理解不同的遍歷方式帶來的好處以及不同的應用

leetcode 1325 刪除給定值的葉子節點

給你一棵以 root 為根的二叉樹和乙個整數 target 請你刪除所有值為 target 的 葉子節點 注意,一旦刪除值為 target 的葉子節點,它的父節點就可能變成葉子節點 如果新葉子節點的值恰好也是 target 那麼這個節點也應該被刪除。也就是說,你需要重複此過程直到不能繼續刪除。示例 ...

Leetcode 5317 刪除給定值的葉子節點

給你一棵以 root 為根的二叉樹和乙個整數 target 請你刪除所有值為 target 的 葉子節點 注意,一旦刪除值為 target 的葉子節點,它的父節點就可能變成葉子節點 如果新葉子節點的值恰好也是 target 那麼這個節點也應該被刪除。也就是說,你需要重複此過程直到不能繼續刪除。示例 ...

刪除鍊錶中等於給定值val的所有節點

刪除鍊錶中等於給定值val的所有節點 例如 給出鍊錶1 2 3 3 4 5 3,和 val 3,你需要返回刪除3之後的鍊錶 1 2 4 5 way1 迭代 追加人為表頭 陷入沒有表頭的陷阱,總是想記下刪除節點的先驅,導致折騰了很久,其實只要人為加乙個表頭就簡單很多了!definition for s...