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

2021-10-02 07:18:24 字數 900 閱讀 9441

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

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

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

示例 1:

輸入:root = [1,2,3,2,null,2,4], target = 2

輸出:[1,null,3,null,4]

解釋:上面左邊的圖中,綠色節點為葉子節點,且它們的值與 target 相同(同為 2 ),它們會被刪除,得到中間的圖。

有乙個新的節點變成了葉子節點且它的值與 target 相同,所以將再次進行刪除,從而得到最右邊的圖。

示例 2:

輸入:root = [1,3,3,3,2], target = 3

輸出:[1,3,null,null,2]

示例 3:

輸入:root = [1,2,null,2,null,2], target = 2

輸出:[1]

解釋:每一步都刪除乙個綠色的葉子節點(值為 2)。

示例 4:

輸入:root = [1,1,1], target = 1

輸出:示例 5:

輸入:root = [1,2,3], target = 1

輸出:[1,2,3]

1 <= target <= 1000

每一棵樹最多有 3000 個節點。

每乙個節點值的範圍是 [1, 1000] 。

class solution 

treenode* removeleafnodes(treenode* root, int target)

};

給GridView刪除列新增刪除提示

首先設定commandfield,把showeditbutton showdeletebutton屬性都設定為true,也可以只設定showdeletebutton屬性,那樣下面的 你要修改一下調換一下順序。頁面 如下 按鈕 buttontype image 還有link和button兩種 並且放在...

LeetCode 刪除重複項

使用vector.size 時,在for迴圈中要寫i不要寫i。因為當vector的size為0時,size 函式返回值是無符號整型,這時vec.size 1是乙個正數,會導致 vec i 訪問越界。題解 首先考慮了暴力解法,兩個迴圈尋找相等的元素,找到後將其就地改為 1,記錄下個數。再一次迴圈把不是...

leetcode刪除中間節點

實現一種演算法,刪除單向鍊錶中間的某個節點 即不是第乙個或最後乙個節點 假定你只能訪問該節點。輸入 單向鍊錶a b c d e f中的節點c 結果 不返回任何資料,但該鍊錶變為a b d e f address definition for singly linked list.class list...