int left = deep(root.left); int right = deep(root.right); if (Math.abs(left - right) > 1) { returnfalse; } if (!dfs(root.left)) { returnfalse; } if (!dfs(root.right)) { returnfalse; } returntrue; }
private int deep(TreeNode root) { if (root == null) { return0; } int left = deep(root.left) + 1; int right = deep(root.right) + 1; return Math.max(left, right); }
public static void main(String[] args) {
}
publicclassTreeNode { int val; TreeNode left; TreeNode right;