发布网友 发布时间:2022-05-02 12:15
共3个回答
懂视网 时间:2022-05-02 16:36
boolean isBalanced(TreeNode root) { int res = helper(root); if (res<0) return false; return true; } public int helper(TreeNode root) { if (root==null) return 0; //从底下开始判断是否平衡树 //两个变量如果是-1就代表是不平衡 int ld = helper(root.left); int rd = helper(root.right); //三种情况就不平衡:左右子树不平衡,本节点不平衡 if (ld==-1||rd==-1||Math.abs(ld-rd)>1) return -1; else if (ld>rd) return ld+1; else return rd+1; }
[leetcode]110BalancedBinaryTree平衡二叉树
标签:class 判断 return 开始 bsp color 平衡二叉树 pos ==
热心网友 时间:2022-05-02 13:44
我写过很多PAT和leetcode的代码,有需要可以私信我。
下图展示我写过的"二叉树剪枝"
源代码见网页端(LeetCode的main函数不需要写)
热心网友 时间:2022-05-02 15:02
可以的,私信联系