leetcode 563 二叉树的坡度
https://leetcode-cn.com/problems/binary-tree-tilt/
题目
给定一个二叉树,计算整个树的坡度 。
一个树的节点的坡度定义即为,该节点左子树的节点之和和右子树节点之和的差的绝对值。如果没有左子树的话,左子树的节点之和为0;没有右子树的话也是一样。空结点的坡度是0。
整个树的坡度就是其所有节点的坡度之和。
思路1
这个算是非常经典的二叉树递归练习题了,直接对问题的定义建模就好。
首先,求左子树的节点之和,那么有:
int sumLeft = dfs(node->left);
右子树同理:
int sumRight = dfs(node->right);
差的绝对值:
ans += abs(sumLeft - sumRight);
最后有:
int ans = 0;int findTilt(TreeNode* root) {dfs(root);return ans;
}int dfs(TreeNode* node) {if (node == nullptr) {return 0;}int sumLeft = dfs(node->left);int sumRight = dfs(node->right);ans += abs(sumLeft - sumRight);return sumLeft + sumRight + node->val;
}
本题就相当于是一个"求二叉树所有节点和"的简单改版。
leetcode 563 二叉树的坡度相关推荐
- LeetCode 563. 二叉树的坡度(DFS)
1. 题目 给定一个二叉树,计算整个树的坡度. 一个树的节点的坡度定义即为,该节点左子树的结点之和和右子树结点之和的差的绝对值.空结点的的坡度是0. 整个树的坡度就是其所有节点的坡度之和. 示例:输入 ...
- LeetCode 563二叉树的坡度-简单
给定一个二叉树,计算 整个树 的坡度 . 一个树的 节点的坡度 定义即为,该节点左子树的节点之和和右子树节点之和的 差的绝对值 .如果没有左子树的话,左子树的节点之和为 0 :没有右子树的话也是一样. ...
- leetcode 563. 二叉树的坡度(Java版)
题目 https://leetcode-cn.com/problems/binary-tree-tilt/ 题解 从问题的描述中,可以清楚地了解到,我们需要在给定树的每个结点处找到其坡度,并将所有的坡 ...
- 2022-4-2 Leetcode 563.二叉树的坡度
和检查二叉树是否平衡的思路完全一样. 一个函数用来检查是否平衡,一个函数用来将这棵树无限细分. class Solution {public:int findTilt(TreeNode* root) ...
- LeetCode 391. 完美矩形(扫描线) / 318. 最大单词长度乘积 / 563. 二叉树的坡度
391. 完美矩形 2021.11.16 每日一题 题目描述 给你一个数组 rectangles ,其中 rectangles[i] = [xi, yi, ai, bi] 表示一个坐标轴平行的矩形.这 ...
- 563. 二叉树的坡度
题目 我的想法 从根节点开始,求出每个几点的度,然后累加.代码如下: # Definition for a binary tree node. class TreeNode:def __init__( ...
- 解题报告-Leecode 563. 二叉树的坡度——Leecode每日一题系列
今天是坚持每日一题打卡的第二十二天 题目链接:https://leetcode-cn.com/problems/binary-tree-tilt/ 题解汇总:https://zhanglong.blo ...
- python计算坡度_?563. 二叉树的坡度(Python)
题目 难度:★★☆☆☆ 类型:二叉树 给定一个二叉树,计算整个树的坡度. 一个树的节点的坡度定义即为,该节点左子树的结点之和和右子树结点之和的差的绝对值.空结点的的坡度是0. 整个树的坡度就是其所有节 ...
- 【leetcode】二叉树与经典问题
文章目录 笔记 leetcode [114. 二叉树展开为链表](https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list ...
最新文章
- 【STM32】ESP8266模块简介
- 大话主题敏感PageRank
- Day07-函数(2)
- 『号外』 排名进入3000,特致感谢!
- java 合并流(SequenceInputStream)
- 平衡点 / 吊打XXX(洛谷-P1337)
- datetime的文本时间处理
- 单片机移频防啸叫_基于ARM9的防啸叫音频放大器的设计
- Zabbix 如何动态执行监控采集脚本
- iSCSI客户端配置
- ctfshow 做题 萌新 模块(1)
- 计算机网络安全课程心得,学习信息安全专业的心得体会
- ng-template、ng-container、ng-content 的用法
- jdk8的ConcurrentHashMap实现
- 按键精灵连接远程mysql_【按键精灵】按键精灵读取github page 网页,实现脚本远程控制功能...
- IMAP和POP有什么区别?
- 关于amazon亚马逊SP-API申请注册,amazon亚马逊SPAPI开发人员资料注册,amazon亚马逊Selling Partner API申请注册详细指导
- linux 星际争霸,让星际争霸在Linux操作系统下转起来
- java内存泄漏怎么检测_JAVA内存泄漏原因和内存泄漏检测工具
- Educational Codeforces Round 145 (E. Two Tanks 详细讲解 + 代码注释)
热门文章
- matlab在图像处理中的应用论文,MATLAB在数字图像处理中的应用
- limit mysql 取最后_更优美的 limit 使用方法 (limit 对 mysql 数据查询的性能影响)
- python tkinter输入框_python tkinter-按钮.标签.文本框、输入框
- python面向对象编程项目_Python学习之==面向对象编程(一)
- 用python进行数据分析——第十二章.高阶pandas
- 一维差分(附模板题)
- 标注工具——Electron、HTML、CSSjs的学习笔记目录
- PyTorch——解决报错“RuntimeError: running_mean should contain *** elements not ***”
- PostgreSQL 给数据库添加用户
- Java面向对象的程序设计