题意

538. 把二叉搜索树转换为累加树

题解

方法一:反序中序遍历

class Solution {private:int sum = 0;
public:TreeNode* convertBST(TreeNode* root) {if (root == nullptr) return nullptr;TreeNode *right = convertBST(root->right);sum += root->val;root->val = sum;TreeNode *left = convertBST(root->left);return root;}
};

方法二:Morris 遍历

class Solution {public:TreeNode* getSuccessor(TreeNode* node) {TreeNode* succ = node->right;while (succ->left != nullptr && succ->left != node) {succ = succ->left;}return succ;}TreeNode* convertBST(TreeNode* root) {int sum = 0;TreeNode* node = root;while (node != nullptr) {if (node->right == nullptr) {sum += node->val;node->val = sum;node = node->left;} else {TreeNode* succ = getSuccessor(node);if (succ->left == nullptr) {succ->left = node;node = node->right;} else {succ->left = nullptr;sum += node->val;node->val = sum;node = node->left;}}}return root;}
};作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/convert-bst-to-greater-tree/solution/ba-er-cha-sou-suo-shu-zhuan-huan-wei-lei-jia-sh-14/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

LeetCode系列538—把二叉搜索树转换为累加树相关推荐

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

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

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

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

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

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

  4. leetcode c++未初始化_LeetCode 力扣官方题解 | 538. 把二叉搜索树转换为累加树

    力扣 538. 把二叉搜索树转换为累加树(点击查看题目) 力扣​leetcode-cn.com 题目描述 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater ...

  5. LeetCode 力扣 538. 把二叉搜索树转换为累加树 convertBstToGreaterTree538树

    大家觉得写还可以,可以点赞.收藏.关注一下吧! 也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn 文章目录 538. 把二叉搜索树转换为累 ...

  6. 力扣538.把二叉搜索树转换为累加树

    题目来源: 538.把二叉搜索树转换为累加树 题目: 给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中 ...

  7. Suzy找到实习了吗 Day23 | 二叉树最后一节!669. 修剪二叉搜索树,108. 将有序数组转换为二叉搜索树,538. 把二叉搜索树转换为累加树

    669. 修剪二叉搜索树 题目 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high.通过修剪二叉搜索树,使得所有节点的值在[low, high]中.修剪树 不应该 改变保 ...

  8. 538. 把二叉搜索树转换为累加树(java)

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

  9. LeetCode 538. 把二叉搜索树转换为累加树(逆中序 根右左)

    文章目录 1. 题目 2. 逆中序(根右左,降序循环遍历) 1. 题目 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原 ...

最新文章

  1. java 正则 反向引用_正则之反向引用
  2. 【机器视觉】 convert_vector_to_tuple算子
  3. 二叉树的基本操作(建立与遍历)
  4. 李群与李代数2:李代数求导和李群扰动模型
  5. 为啥不用ActiveRecord
  6. Android ViewPager + PagerAdapter 实现轮播图
  7. 笔记:Html.Partial和Html.Action
  8. Linux必须熟记的文件
  9. 原画学习步骤,零基础一步步学原画!
  10. 使用opencv进行车牌提取及识别
  11. 计算机网络管理员二级考试题,计算机网络管理员(二级)操作鉴定试题A
  12. 计算机的计算百分比的函数是哪个好,excel用函数计算百分比计算的方法
  13. 【H3C设备组网配置】第一版
  14. c语言提取数字的每一位,C++,如何提取数字的每一位
  15. Echarts饼图自定义颜色配置(图色、选择颜色、字体颜色)
  16. 企业微信如何查看,或更换手机号
  17. 医疗行业虚拟化终端管理平台解决方案
  18. 50 行代码,实现中英文翻译 1
  19. 請問下需要一套繁體字多商戶商城+跑腿外賣系統
  20. centos7.6 桌面版本 网卡重启失败 记录

热门文章

  1. ssm毕设项目疫情社区管理系统4m30y(java+VUE+Mybatis+Maven+Mysql+sprnig)
  2. ImgBurn最方便小巧的刻录软件
  3. java antlr的开发
  4. Groovy~Groovy变量
  5. 自学深度学习 (一)机器学习基础1
  6. 广州一高层住宅拍出亿元
  7. STM32之定时器(TMI)
  8. BootStrap笔记参考(全)-优极限
  9. [Verilog硬件描述语言]语言要素、数据类型、运算符及其表达式
  10. 4190万人次在线!GMIC在线2020圆满落幕,逆势破局,幂次生长!