题解 | #NC62 判断是不是平衡二叉树#

判断是不是平衡二叉树

http://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222

package main
import . "nc_tools"
/*
 * type TreeNode struct {
 *   Val int
 *   Left *TreeNode
 *   Right *TreeNode
 * }
 */

/**
 * 
 * @param pRoot TreeNode类 
 * @return bool布尔型
*/
var check bool
func IsBalanced_Solution( pRoot *TreeNode ) bool {
    // write code here
    check= true
    _ = getHeigh(pRoot)
    return check
}
func getHeigh(root *TreeNode) int {
    if root==nil{
        return 0
    }
    l := getHeigh(root.Left)+1
    r := getHeigh(root.Right)+1
    if (l-r)>1 || (r-l)>1{
        check = false
    }
    if l>r{
        return l
    }
    return r
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务