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

2021-10-08 09:17:01 字數 629 閱讀 3278

題目描述:

給定乙個二叉搜尋樹(binary search tree),把它轉換成為累加樹(greater tree),使得每個節點的值是原來的節點值加上所有大於它的節點值之和。

例如:

輸入: 原始二叉搜尋樹:

輸出: 轉換為累加樹:

方法1:在原樹上修改

主要思路:

(1)二叉搜尋的特性,左結點小於根節點,根節點小於右結點,則按逆序遍歷樹的話,可以考慮先右子樹,再根節點,再左子樹的方式進行,在這個過程中,統計出之前遍歷過的所有元素之和,置為當前結點的值即可;

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

treenode*

convertbst

(treenode* root)

};

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

給定乙個二叉搜尋樹 binary search tree 把它轉換成為累加樹 greater tree 使得每個節點的值是原來的節點值加上所有大於它的節點值之和。例如 輸入 二叉搜尋樹 5 2 13 輸出 轉換為累加樹 18 20 13 和 的應用 用 傳入某值的位址,可以保留函式中修改的資料 de...

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

給定乙個二叉搜尋樹 binary search tree 把它轉換成為累加樹 greater tree 使得每個節點的值是原來的節點值加上所有大於它的節點值之和。例如 輸入 二叉搜尋樹 5 2 13 輸出 轉換為累加樹 18 20 13 思路 二叉樹的中序遍歷結果就是從小到大的順序輸出,那麼右中左則...

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

給定乙個二叉搜尋樹 binary search tree 把它轉換成為累加樹 greater tree 使得每個節點的值是原來的節點值加上所有大於它的節點值之和。例如 輸入 原始二叉搜尋樹 5 2 13 輸出 轉換為累加樹 18 20 13 definition for a binary tree ...