package org.example.test; public class IsBalancedTest { static public class TreeNode { int val; TreeNode left; TreeNode right; public TreeNode(int val) { this.val = val; } } public boolean IsBalanced_Solution(TreeNode root) { return getHight(root) != -1; } /** * 练习一段时间后,发现这些以前做不来的,现在轻松就做出来了。 * 加油,多练习! * * @param root * @return */ private int getHight(TreeNode root) { if (root == null) { return 0; } int z = 0; int x = getHight(root.left); if (x == -1) { return -1; } int y = getHight(root.right); if (y == -1) { return -1; } if (Math.abs(y - x) > 1) { return -1; } else { z = Math.max(x, y) + 1; } return z; } }