给定一个二叉树判断它是否是 平衡二叉树。示例 1输入root [3,9,20,null,null,15,7]输出true示例 2输入root [1,2,2,3,3,null,null,4,4]输出false示例 3输入root []输出true提示树中的节点数在范围[0, 5000]内-10^4 Node.val 10^4分析一棵树是平衡的要么它是空树要么它的左子树和右子树的高度之差的绝对值小于等于 1.用一个函数计算一个节点的子树高度主函数内递归地判断所有的节点是否平衡。/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ int height(struct TreeNode* node) { if(nodeNULL)return 1; return fmax(height(node-left),height(node-right))1; } bool isBalanced(struct TreeNode* root) { if(rootNULL)return true; if(isBalanced(root-left)isBalanced(root-right)abs(height(root-right)-height(root-left))1)return true; return false; }