leetcode538 把二叉搜索树转换成累加树
生活随笔
收集整理的這篇文章主要介紹了
leetcode538 把二叉搜索树转换成累加树
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
給定一個二叉搜索樹(Binary Search Tree),把它轉(zhuǎn)換成為累加樹(Greater Tree),使得每個節(jié)點的值是原來的節(jié)點值加上所有大于它的節(jié)點值之和。
對于每一個點來說,自己的父,和自己父的右子樹都是大于自己的。
所以我們按右中左的順序遍歷,每個遍歷到的值,比它大的值一定都被遍歷過了。
遍歷過程中記錄和就好。
?
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val = x; }* }*/ class Solution {int add = 0;public TreeNode convertBST(TreeNode root) {if (root == null) return root;convertBST(root.right);root.val += add;add = root.val;convertBST(root.left);return root;} } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的leetcode538 把二叉搜索树转换成累加树的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 队列【数据结构】
- 下一篇: 2018第二届河北省大学生程序设计竞赛题