Talke is cheap.
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func isBalanced(root *TreeNode) bool {
return isBalan(root) != -1
}
func isBalan(root *TreeNode) int {
if root == nil {
return 0
}
left := isBalan(root.Left)
right := isBalan(root.Right)
if left == -1 || right == -1 || left - right > 1 || left - right < -1 {
return -1
}
if left > right {
return left + 1
}
return right + 1
}
我发现了 oj导不进去math包。。。而且很多指针相关的题 直接返回nil就是 Non zero。。