2023.7.4
平衡二叉树 ,经典题目 。需要利用到之前求二叉树高度的思路。 先定义一个求高度的函数,然后使用递归的方式判断左子树和右子树的高度差是否小于等于1,下面上代码:文章来源:https://www.toymoban.com/news/detail-521660.html
class Solution {
public:
int get_length(TreeNode* cur)
{
queue<TreeNode*> que;
int length = 0;
if(cur == nullptr) return length;
que.push(cur);
while(!que.empty())
{
int size = que.size();
length++;
while(size--)
{
TreeNode* node = que.front();
que.pop();
if(node->left) que.push(node->left);
if(node->right) que.push(node->right);
}
}
return length;
}
bool isBalanced(TreeNode* root) {
if(root == nullptr) return true;
return abs(get_length(root->left) - get_length(root->right))<=1 && isBalanced(root->left) && isBalanced(root->right);
}
};
挺经典的题,思路值得借鉴。文章来源地址https://www.toymoban.com/news/detail-521660.html
到了这里,关于leetcode 110. 平衡二叉树的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!