110. 平衡二叉树
Posted Debroon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了110. 平衡二叉树相关的知识,希望对你有一定的参考价值。
110. 平衡二叉树
题目
传送门:https://leetcode.cn/problems/balanced-binary-tree/
算法设计:深度优先搜索
- 前置:前序位置和后序位置的不同,请猛击《二叉树递归框架》。
要比较左右子树的高度,就不能通过前序位置一棵二叉树沿途得出,而是通过后序位置,遍历完整棵树,对比俩者高度差。
class Solution
public:
bool ans = true;
int solve(TreeNode* root)
if(root == NULL) return 0;
int left = solve(root->left);
int right = solve(root->right);
if(abs(left-right)>1) // 【后序位置做比较】如果左右最大深度大于 1,就不是平衡二叉树
ans = false;
return max(left, right)+1; // 树的高度 = 最大的左右子树 + 1
bool isBalanced(TreeNode* root)
solve(root);
return ans;
;
以上是关于110. 平衡二叉树的主要内容,如果未能解决你的问题,请参考以下文章