lintcode(661)Convert BST to Greater Tree
来源:互联网 发布:贵阳大数据广场在哪里 编辑:程序博客网 时间:2024/05/22 02:01
描述:
Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original BST is changed to the original key plus sum of all keys greater than the original key in BST.
样例:
Given a binary search Tree `{5,2,3}`:
5 / \ 2 13
Return the root of new tree
思路:
采用递归,每个节点的值等于右节点的值加自身的值,左节点的值等于右节点加根节点的值。
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */public class Solution { /** * @param root the root of binary tree * @return the new root */ public TreeNode convertBST(TreeNode root) { // Write your code here if(root == null){ return root; } int temp = search(root , 0); return root; } public int search(TreeNode root , int count){ if(root == null){ return 0; } int right = search(root.right , count); int left = search(root.left , count + root.val + right); int result = right + left + root.val; root.val += right + count; return result; }}
1 0
- lintcode(661)Convert BST to Greater Tree
- LintCode 661 Convert BST to Greater Tree
- LintCode-Convert BST to Greater Tree
- lintcode Convert BST to Greater Tree
- LintCode Convert BST to Greater Tree
- lintcode convert bst to greater tree
- Convert BST to Greater Tree-LintCode
- LintCode Convert BST to Greater Tree
- lintcode——Convert BST to Greater Tree
- LINTCODE——Convert BST to Greater Tree
- Convert BST to Greater Tree
- Convert BST to Greater Tree
- Convert BST to Greater Tree
- Convert BST to Greater Tree
- Convert BST to Greater Tree
- Convert BST to Greater Tree
- Convert BST to Greater Tree
- Convert BST to Greater Tree
- 第八单元
- java中锁的深入理解(二)
- 数据结构——基础篇
- python数据分析:pandas数据结构与操作
- 浅谈嵌入式驱动设计
- lintcode(661)Convert BST to Greater Tree
- Python学习之 logging模块的使用
- 《程序员修炼之道》笔记(六)
- 第五次实验--数组—
- 学习AIDL遇到的问题
- 国外遥感影像如何下载之利用USGS网站影像下载无需JAVA
- 四、常用数据结构和函数
- poj2533 最长上升子序列 dp
- 在自己的项目中添加第三方类库如:二维码扫描zxing库