leetcode538 把二叉搜索树转换成累加树
生活随笔
收集整理的這篇文章主要介紹了
leetcode538 把二叉搜索树转换成累加树
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
給定一個(gè)二叉搜索樹(shù)(Binary Search Tree),把它轉(zhuǎn)換成為累加樹(shù)(Greater Tree),使得每個(gè)節(jié)點(diǎn)的值是原來(lái)的節(jié)點(diǎn)值加上所有大于它的節(jié)點(diǎn)值之和。
對(duì)于每一個(gè)點(diǎn)來(lái)說(shuō),自己的父,和自己父的右子樹(shù)都是大于自己的。
所以我們按右中左的順序遍歷,每個(gè)遍歷到的值,比它大的值一定都被遍歷過(guò)了。
遍歷過(guò)程中記錄和就好。
?
/*** 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)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的leetcode538 把二叉搜索树转换成累加树的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 队列【数据结构】
- 下一篇: 2018第二届河北省大学生程序设计竞赛题