LintCode-Convert BST to Greater Tree
来源:互联网 发布:plupload断点续传 php 编辑:程序博客网 时间:2024/06/01 12:41
题目描述:
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
18 / \ 20 13
做题思路:
利用自身函数的递归调用,从右子树开始,用遍历右根左的方法,赋值给sum加和,更新sum,再把sum赋值给根节点,更新根节点的值,根节点与左子树上的节点,根据遍历和递归,依次改变值,并返回该树的根节点。
关键代码:
class Solution {public: /** * @param root the root of binary tree * @return the new root */ int sum=0; TreeNode* convertBST(TreeNode* root) { // Write your code here if(root==NULL) return NULL; convertBST(root->right); root->val+=sum; sum=root->val; convertBST(root->left); return root; }};
做题感想:这题想了好久,想出了好几种思路,但是会想不会写代码,所以上网搜了搜,这种算法便于看懂,更简洁。利用自身函数递归调用,来完成算法实现。
阅读全文
0 0
- 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 661 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
- Android kotlin开发基础篇 基础语法详解--pdf
- unit2-高级网络配置【bond,team,br0,ipv6】
- 内连接与外连接的区别
- Linux的SOCKET编程详解
- PHP 开发API接口签名验证
- LintCode-Convert BST to Greater Tree
- W3Cschool Java 8新特性----> 方法引用
- php中会话控制
- 二、HBase深入使用(1)—HBase数据存储
- vs 2008 断点空心加感叹号 解决方案
- 子数组之和
- codevs 1519 过路费(最小生成树Kruskal算法+lca)
- Convert BST to Greater Tree
- nginx负载均衡介绍与配置