450 刪除二叉搜尋樹中的節點 遞迴

2022-10-11 17:27:08 字數 653 閱讀 3905

給定乙個二叉搜尋樹的根節點 root 和乙個值 key,刪除二叉搜尋樹中的 key 對應的節點,並保證二叉搜尋樹的性質不變。返回二叉搜尋樹(有可能被更新)的根節點的引用。

一般來說,刪除節點可分為兩個步驟:

首先找到需要刪除的節點;

如果找到了,刪除它。

示例:

輸入:root = [5,3,6,2,4,null,7], key = 3

輸出:[5,4,6,2,null,null,7]

解釋:給定需要刪除的節點值是 3,所以我們首先找到 3 這個節點,然後刪除它。

乙個正確的答案是 [5,4,6,2,null,null,7], 如下圖所示。

另乙個正確答案是 [5,2,6,null,4,null,7]。

根據二叉搜尋樹的性質

class solution 

public treenode delete(treenode root, int key)

if(root.val < key)else if(root.val > key)else

right.left = root.left;

root = root.right;}}

return root;}}

450 刪除二叉搜尋樹中的節點

給定乙個二叉搜尋樹的根節點 root 和乙個值 key,刪除二叉搜尋樹中的 key 對應的節點,並保證二叉搜尋樹的性質不變。返回二叉搜尋樹 有可能被更新 的根節點的引用。一般來說,刪除節點可分為兩個步驟 首先找到需要刪除的節點 如果找到了,刪除它。說明 要求演算法時間複雜度為 o h h 為樹的高度...

450 刪除二叉搜尋樹中的節點

刪除二叉搜尋樹中的節點 給定乙個二叉搜尋樹的根節點 root 和乙個值 key,刪除二叉搜尋樹中的 key 對應的節點,並保證二叉搜尋樹的性質不變。返回二叉搜尋樹 有可能被更新 的根節點的引用。一般來說,刪除節點可分為兩個步驟 首先找到需要刪除的節點 如果找到了,刪除它。說明 要求演算法時間複雜度為...

450 刪除二叉搜尋樹中的節點

給定乙個二叉搜尋樹的根節點 root 和乙個值 key 刪除二叉搜尋樹中的 key 對應的節點,並保證二叉搜尋樹的性質不變。返回二叉搜尋樹 有可能被更新 的根節點的引用。一般來說,刪除節點可分為兩個步驟 首先找到需要刪除的節點 如果找到了,刪除它。說明 要求演算法時間複雜度為 o h h 為樹的高度...