• 110. 平衡二叉树


    题目

    110. 平衡二叉树

    我的思路

    递归解决:
        后续遍历,先得到当前节点两棵子树的高度,比较是否满足条件;返回较大值作为当前节点的高度。每个节点作为根的高度之差

    我的实现

    /**
     * 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:
        bool result;
        int postSearch(TreeNode *root){
            if(root==NULL)return 0;
            else{
                int h1 = postSearch(root->left);
                int h2 = postSearch(root->right);
                if(h1-h2>1||h2-h1>1){
                    result = false;
                }
                return max(h1,h2)+1;
            }
        }
        bool isBalanced(TreeNode* root) {
            result = true;
            postSearch(root);
            return result;
        }
    };
    /*
    求节点高度,
    球节点层次,
    递归完成:
        后续遍历,先得到当前节点两棵子树的高度,比较是否满足条件;返回较大值作为当前节点的高度。每个节点作为根的高度之差
    */

    拓展学习

  • 相关阅读:
    小涛涛的计算器
    Sort排序浅聊
    程序员PC选购
    冒泡排序
    Django之模板
    Django中model的Meta选项
    Django之路由系统
    Django之视图系统
    踏上Flask的不归路(二)
    踏上Flask的不归路(一)
  • 原文地址:https://www.cnblogs.com/BoysCryToo/p/13516771.html
Copyright © 2020-2023  润新知