首页 > 其他分享 >2022-8-17 剑指offer-二叉树-递归

2022-8-17 剑指offer-二叉树-递归

时间:2022-08-17 11:44:18浏览次数:75  
标签:right TreeNode 17 val list 二叉树 2022 root 节点

剑指 Offer II 054. 所有大于等于节点的值之和

难度中等

给定一个二叉搜索树,请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。

 

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

  • 节点的左子树仅包含键 小于 节点键的节点。
  • 节点的右子树仅包含键 大于 节点键的节点。
  • 左右子树也必须是二叉搜索树。
 1 /**
 2  * Definition for a binary tree node.
 3  * public class TreeNode {
 4  *     int val;
 5  *     TreeNode left;
 6  *     TreeNode right;
 7  *     TreeNode() {}
 8  *     TreeNode(int val) { this.val = val; }
 9  *     TreeNode(int val, TreeNode left, TreeNode right) {
10  *         this.val = val;
11  *         this.left = left;
12  *         this.right = right;
13  *     }
14  * }
15  */
16 class Solution {
17     List<TreeNode> list;
18     public TreeNode convertBST(TreeNode root) {
19         list=new ArrayList<>();
20         inorder(root);
21         int sum=0;
22         for (int i=list.size()-1;i>=0;i--){
23             TreeNode temp=list.get(i);
24             sum+=temp.val;
25             temp.val=sum;
26         }
27         return root;
28     }
29 
30     public void inorder(TreeNode root){
31         if (root==null) return;
32         inorder(root.left);
33         list.add(root);
34         inorder(root.right);
35     }
36 }

思路:反序中序遍历,累加值更新即可。

标签:right,TreeNode,17,val,list,二叉树,2022,root,节点
From: https://www.cnblogs.com/benbicao/p/16594550.html

相关文章

  • 前端周刊:2022-13 期
    前端周刊:2022-13期前端开发Vue3文档更新更新后的Vue3文档分别提供了选项式和组合式两个版本,内容丰富程度和细致程度也有很大提升,推荐大家重读一遍。前端请求......
  • 2022“杭电杯”中国大学生算法设计超级联赛(7)
    比赛链接:https://vjudge.net/contest/509567B-IndependentFeedbackVertexSet题意:定义无向无环图为森林,集合中任意两点之间没有边相连的集合为独立集。现在有\(n......
  • 2022-8-16 mysql 第二天 约束
    DQL数据库查询语言重点,DQL是我们每天都要接触编写最多也是最难的SQL,该语言用来查询记录,不会修改数据库和表结构。构建数据库创建一张student表:DROPTABLEIFEXISTSst......
  • NOI2022赛前随记
    NOI2022赛前随记想了好久到底应该怎么给这篇不成体统的文章命名,却也无可奈何。明明眼前是短短一望便知的尽头,却不忍心写下"退役记"三个字,大概是为自己的前程感到绝望吧,明......
  • 上网记录20220816
    一个dotnet数据库orm框架 https://github.com/leadnt/FluentDAO一个基于HttpClient的开源项目。只需要定义c#接口并修改相关特性,即可异步调用远程http接口的客户......
  • 22/8/17 python基础学习
    python语法基础python解释器提供一个traceback,指出解释器尝试运行代码时的错误信息。第二章变量和简单数据类型在字符串中使用变量:f字符串:实例代码:first_name="ada......
  • 【2022杭电多校】第九场 1008 Shortest Path in GCD Graph 【容斥+优化】
    链接https://acm.hdu.edu.cn/showproblem.php?pid=7240题意是有n个点组成的完全图,每个点的权重组成了1-n的排列,点i和点j的距离为\(gcd(i,j)\),给出q组询问,每次询问给出u......
  • vs2022附加到进程调试,设断点无效,或找不到w3wp.exe
    vs2022附加到进程调试,设断点无效,或找不到w3wp.exe1.调试—>选项—>调试,取消勾选“启动仅我的代码”2.原因是iis网站绑定的网站不是debug版本的,发布的时候需要选择debug......
  • 2022-08-16面试
    1.springboot和tomcat2.springcloud的请求如何通过网关鉴权?3.springmvc启动时组件的加载顺序?4.mybatis如何同时更新三条记录5.hibernate实现级联更新6.一个web程序......
  • 2022.34 物联网协议
    物联网的发展离不开互联网,但由于物联网场景复杂多样,设备端硬件规格、网络稳定性、流量限制、功耗等因素造成物联网设备的消息传递与传统互联网场景有着很大不同,也因此产生......