目录

  • 题目描述:
  • 示例:
  • 解法:

题目描述:

给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。

提醒一下,二叉搜索树满足下列约束条件:

  • 节点的左子树仅包含键小于节点键的节点。
  • 节点的右子树仅包含键大于节点键的节点。
  • 左右子树也必须是二叉搜索树。

示例:

输入:[4,1,6,0,2,5,7,null,null,null,3,null,null,null,8]
输出:[30,36,21,36,35,26,15,null,null,null,33,null,null,null,8]

提示:

  • 树中的节点数介于 1 和 100 之间。
  • 每个节点的值介于 0 和 100 之间。
  • 给定的树为二叉搜索树。

解法:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:int updateTree(TreeNode*& root, int val){if(root == NULL){return val;}else{int right = updateTree(root->right, val);root->val += right;int left = updateTree(root->left, root->val);return left;}}TreeNode* bstToGst(TreeNode* root) {int val = 0;updateTree(root, val);return root;}
};

转载于:https://www.cnblogs.com/zhanzq/p/11075889.html

leetcode 1038. 从二叉搜索树到更大和树相关推荐

  1. leetcode —— 1038. 从二叉搜索树到更大和树

    给出二叉 搜索 树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和. 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅 ...

  2. LeetCode 1038. 从二叉搜索树到更大和树(逆中序-右根左-降序)

    1. 题目 2. 解题 二叉搜索树 逆中序遍历(右根左)是降序的 class Solution {public:TreeNode* bstToGst(TreeNode* root) {stack< ...

  3. 【数据结构与算法】之深入解析“把二叉搜索树转换为累加树”和“从二叉搜索树到更大和树”的求解思路与算法示例

    一.题目要求 ① 把二叉搜索树转换为累加树 给出二叉搜索树的根节点,该树的节点值各不相同,请将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 no ...

  4. leetcode题解538-把二叉搜索树转化为累加树

    问题描述 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和. 解题思路 要找到比某个 ...

  5. LeetCode -538 把二叉搜索树转化为累加树(C语言描述)

    题目描述: 题目来源: https://leetcode-cn.com/problems/convert-bst-to-greater-tree/ 思路: 采用递归反序中序遍历实现,因为二叉搜索树右节 ...

  6. LeetCode 538. 把二叉搜索树转换为累加树 | Python

    538. 把二叉搜索树转换为累加树 题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/convert-bst-to-greater-tree 题目 给 ...

  7. [二叉树遍历|BST]leetcode 538 把二叉搜索树转换为累加树

    [二叉树遍历|BST]leetcode 538 把二叉搜索树转换为累加树 1.题目 题目链接 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree) ...

  8. Leetcode 538. 把二叉搜索树转换为累加树 C++

    Leetcode 538. 把二叉搜索树转换为累加树 题目 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加 ...

  9. Leetcode 98:验证二叉搜索树

    Leetcode 98:验证二叉搜索树 题目描述 我的解法:非递归的中序遍历 其它解法1:非递归的中序遍历,用LONG_MIN规避树的val等于INT_MIN的情况 其他解法2:递归的中序遍历思想 其 ...

最新文章

  1. Apache commons email 使用过程中遇到的问题
  2. windows 10开机后弹出的certificate选择弹出窗
  3. 基于HTML5手机上下滑动翻页特效
  4. 原生js、jQuery实现选项卡功能
  5. storyboard隐藏iphone软键盘
  6. 论文浅尝 | 实体图的预览表格生成
  7. win8中文_免费文字转语音软件,支持男女中文英文混读,且用且珍惜!!
  8. 安全问题汇总(二) SlowHttp 慢速攻击防护
  9. 网页防篡改技术_大数据让档案“活”起来:用区块链技术防篡改,用量子加密技术防盗窃...
  10. 傅里叶光学随机散斑原理 matlab仿真实现随机散斑
  11. After Effects CC 2019 for Mac(AE中文直装版)
  12. 以程序员的方式解决武汉公积金用户注册页面无法点击下一步问题
  13. Python爬取豆瓣电影top250(附全部源码)
  14. office显示“你的许可证并非正版....”
  15. (Tiled官方文档翻译)第二节:四种图层的介绍
  16. 原来华为手机的拨号键盘除了打电话,还有这些隐藏功能,涨知识了
  17. 网站设计风格有很多种,看看哪种适合你?
  18. 弦振动 matlab,弦振动规律和MATLAB数据处理.doc
  19. 手机您的浏览器不允许第三方_手机壁纸:我的世界不允许你的消失,不管结局是否完美...
  20. clearWState(WState_Polished)编译出错

热门文章

  1. windows 10 systeminfo命令查看系统信息
  2. 如何在WebIDE里打开一个HTML5应用
  3. SAP C4C里如何实现Sales Unit和Seller的自动determination
  4. input失去焦点验证格式_input获取、失去焦点对输入内容做验证
  5. f2 柱状图滚动 钉钉小程序_钉钉小程序使用阿里的F2图表
  6. 室内空气流动原理图_新风系统的工作原理是什么 新风系统各部件的用途
  7. fat32 linux 打包工具_11款最棒的Linux数据恢复工具发布啦!
  8. 公差基本偏差代号_螺纹基础知识学习,螺纹公差标准的结构,螺纹公差带与旋合长度...
  9. axure 8 表格合并_搞定LaTeX论文中的表格
  10. STM32跑分?看看你的能跑多少分!