563. Binary Tree Tilt
来源:互联网 发布:淘宝买的人参 编辑:程序博客网 时间:2024/06/05 06:49
563. Binary Tree Tilt
问题:
求BTree的Tilt.
节点的tilt定义为左右子树的数值和的绝对差值. 树的Tilt为所有节点的tilt之和.
思路:
先得到树的tilt需要对节点求tilt, 对节点求tilt需要求出左右子树之和. 需要分左右子树并且从下向上遍历求和,最后到跟节点.
分为两个过程: 1, 对左右子树求和; 2, 求节点的tilt之和.
后序遍历比较适合.
code:
/** * 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 viaPostTraversal(TreeNode* root, int& result) { if (!root) return 0; int left = viaPostTraversal(root->left, result); int right = viaPostTraversal(root->right, result); result += abs(left - right); return left + right + root->val; } int findTilt(TreeNode* root) { int result = 0; viaPostTraversal(root, result); return result; }};
阅读全文
0 0
- 563. Binary Tree Tilt
- 563. Binary Tree Tilt **
- 563. Binary Tree Tilt
- 563. Binary Tree Tilt
- 563. Binary Tree Tilt
- 563. Binary Tree Tilt
- 563. Binary Tree Tilt
- 563. Binary Tree Tilt
- 563. Binary Tree Tilt
- 563. Binary Tree Tilt
- 563. Binary Tree Tilt
- 563. Binary Tree Tilt
- 563. Binary Tree Tilt
- 563. Binary Tree Tilt
- 563. Binary Tree Tilt
- LeetCode 563. Binary Tree Tilt
- LeetCode | 563. Binary Tree Tilt
- [LeetCode]563. Binary Tree Tilt
- js闭包可以实现局部变量共享
- MySQL表的四种分区类型详解
- Qt之行编辑器
- Laravel 5
- 微信小程序表单验证及页面之间参数传递
- 563. Binary Tree Tilt
- 蓝桥杯 算法提高 矩阵乘法 区间dp
- 10+年程序员总结的20+条经验教训
- ASP.NET MVC 实现 AJAX 跨域请求
- 阿里云 centos7.2下部署 LAMP (CentOS 7.2)
- UGUI鼠标位置转换成视图位置 RectTransformUtility的运用
- JavaWeb三大组件之一Servlet【Servlet获取资源方法】
- Eclipse中比较实用的快捷键
- 手把手教你最简单的开源项目托管GitHub入门教程