把二叉樹轉換為累加樹

2021-10-20 19:31:02 字數 436 閱讀 7063

題目鏈結

給出二叉 搜尋 樹的根節點,該樹的節點值各不相同,請你將其轉換為累加樹(greater sum tree),使每個節點 node 的新值等於原樹中大於或等於 node.val 的值之和。

節點的左子樹僅包含鍵 小於 節點鍵的節點。

節點的右子樹僅包含鍵 大於 節點鍵的節點。

左右子樹也必須是二叉搜尋樹。

1.引數和返回值: 輸入樹的根節點,返回累加後樹的根節點

2.單層遞迴邏輯:從右到左中序遍歷,陣列遞減,每次都將當前值+前乙個值,然後更新前乙個值

3.終止條件:節點為空退出

class

solution

};

(二叉樹)538 把二叉搜尋樹轉換為累加樹

給定乙個二叉搜尋樹 binary search tree 把它轉換成為累加樹 greater tree 使得每個節點的值是原來的節點值加上所有大於它的節點值之和。二叉搜尋樹的中序遍歷的反序是乙個降序陣列,因此只需用乙個sum記錄到當前節點為止的所有陣列和,並把這個值更新到二叉樹的root節點即可,這...

把二叉搜尋樹轉換為累加樹

給定乙個二叉搜尋樹 binary search tree 把它轉換成為累加樹 greater tree 使得每個節點的值是原來的節點值加上所有大於它的節點值之和。例如 輸入 二叉搜尋樹 5 2 13 輸出 轉換為累加樹 18 20 13根據二叉搜尋樹的性質,右子樹的值 根 左子樹的,所以根只用加上其...

把二叉搜尋樹轉換為累加樹

開始行動,你已經成功一半了,獻給正在奮鬥的我們 給定乙個二叉搜尋樹 binary search tree 把它轉換成為累加樹 greater tree 使得每個節點的值是原來的節點值加上所有大於它的節點值之和。例如 輸入 原始二叉搜尋樹 5 2 13 輸出 轉換為累加樹 18 20 13 這道題比較...