赞
踩
这题比较每个节点左右子树深度差肯定要分别递归寻找左右子树的深度,左右节点深度都找到后直接进行比较,如果为false就把flag标记为false,如果程序结束都没有标记,说明该二叉树是平衡二叉树
class Solution { boolean flag = true; public int getSize(TreeNode node){ if(node == null)return 0; int lSize = getSize(node.left); int rSize = getSize(node.right); if(Math.abs(lSize - rSize) > 1)flag = false; return 1 + Math.max(lSize,rSize); } public boolean isBalanced(TreeNode root) { if(root == null)return true; getSize(root); return flag; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。