摘要:解题思路一道非常简单的题目,不能被绕进去,首先要把题目读明白,左右坡度差本质上是左右子树和之差,那么问题就简单了,每次,返回的就是当前所在子树之和,更新坡度差的话就是当前左右子树之差,这两个要分开来计算,代码如下
解题思路:
一道非常简单的题目,不能被绕进去,首先要把题目读明白,左右坡度差本质上是左右子树和之差,那么问题就简单了,每次dfs,返回的就是当前root所在子树之和,更新坡度差的话就是当前root左右子树之差,这两个要分开来计算,代码如下:
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */class Solution {private: int ans = 0;public: int findTilt(TreeNode* root) { dfs(root); return ans; } int dfs(TreeNode* root) { if(root == nullptr) { return 0; } int sumA = dfs(root -> left); int sumB = dfs(root -> right); ans += abs(sumA - sumB); return sumA + sumB + root -> val; }};
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/123942.html
摘要:每日一题二叉树的坡度链接二叉树的坡度题目分析简单的问题。首先明确思路,我们需要遍历每一个点,然后求出该点左右子树的值的总和,然后做差,答案累计这个差值即可。 lee...
摘要:在线网站地址我的微信公众号完整题目列表从年月日起,每天更新一题,顺序从易到难,目前已更新个题。这是项目地址欢迎一起交流学习。 这篇文章记录我练习的 LeetCode 题目,语言 JavaScript。 在线网站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公众号: showImg(htt...
摘要:有效三角形的个数双指针最暴力的方法应该是三重循环枚举三个数字。总结本题和三数之和很像,都是三个数加和为某一个值。所以我们可以使用归并排序来解决这个问题。注意因为归并排序需要递归,所以空间复杂度为 ...
题目地址:https://leetcode-cn.com/probl...题目描述: 给定一个非空二叉树,返回其最大路径和。 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。 示例 1: 输入: [1,2,3] 1 / 2 3 输出: 6 示例 2: 输入: [-10,9,20,nul...
阅读 765·2023-04-25 15:13
阅读 1386·2021-11-22 12:03
阅读 815·2021-11-19 09:40
阅读 1895·2021-11-17 09:38
阅读 1700·2021-11-08 13:18
阅读 647·2021-09-02 15:15
阅读 1757·2019-08-30 15:54
阅读 2621·2019-08-30 11:12