The number of nodes in the tree is in the range [0, 5000].
-104 <= Node.val <= 104
解題
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func isBalanced(root *TreeNode) bool {
if root == nil { return true }
left := helper(root.Left)
right := helper(root.Right)
return abs(left-right) <= 1 && isBalanced(root.Left) && isBalanced(root.Right)
}
func helper(root *TreeNode) int {
if root == nil { return 0 }
return max(helper(root.Left), helper(root.Right)) + 1
}
func max(a, b int) int {
if a > b { return a }
return b
}
func abs(n int) int {
if n < 0 { return -n }
return n
}