美文网首页
判定平衡二叉树

判定平衡二叉树

作者: FredricZhu | 来源:发表于2020-08-18 13:40 被阅读0次

题干


图片.png

代码

package main

import (
    "fmt"
    "math"
)

// TreeNode 树节点对象
type TreeNode struct {
    Val   int       // 值节点
    Left  *TreeNode // 左子树
    Right *TreeNode // 右子树
}

func getTreeHeight(root *TreeNode) int {
    if root == nil {
        return 0
    }

    left := root.Left
    right := root.Right
    lh := getTreeHeight(left)
    rh := getTreeHeight(right)
    if lh >= 0 && rh >= 0 && int(math.Abs(float64(lh-rh))) <= 1 {
        return int(math.Max(float64(lh), float64(rh))) + 1
    }
    return -1
}

// IsBalanced 是否平衡二叉树
func IsBalanced(root *TreeNode) bool {
    return getTreeHeight(root) >= 0
}

func main() {
    root := &TreeNode{
        Val: 3,
        Left: &TreeNode{
            Val: 9,
        },
        Right: &TreeNode{
            Val: 20,
            Left: &TreeNode{
                Val: 15,
            },
            Right: &TreeNode{
                Val: 7,
            },
        },
    }

    isBalanced := IsBalanced(root)
    if isBalanced {
        fmt.Println(root, "是一棵平衡二叉树")
    } else {
        fmt.Println(root, "不是一棵平衡二叉树")
    }
}

相关文章

  • 判定平衡二叉树

    题干 代码

  • 剑指 offer:39、平衡二叉树

    39. 平衡二叉树 题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 解题思路: 平衡二叉树:Wiki:在...

  • 平衡二叉树

    1)什么是平衡二叉树?2)平衡二叉树的特点是什么?3)平衡二叉树的构建实现? 一、什么是平衡二叉树?假设有一组数据...

  • 面试题:平衡二叉树

    题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 知识点 平衡二叉树 Qiang的思路 平衡二叉树是指一个...

  • Leetcode 110 平衡二叉树

    平衡二叉树 题目 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每...

  • 二叉树2-平衡二叉树、完全二叉树、二叉树剪枝

    110.平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 一棵高度平衡二叉树定义为:一个二叉树每个节点 ...

  • Leetcode题解 - Easy - 4

    110- 平衡二叉树 问题 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一...

  • TreeMap源码分析

    TreeMap 平衡二叉树 平衡二叉树(Self-balancing binary search tree)又被称...

  • 图的应用[平衡二叉树以及散列查找]

    平衡⼆二叉树( AVL 树) 平衡⼆二叉树(Self-Balancing Binary Search Tree 或...

  • [LeetCode]110. 平衡二叉树

    110. 平衡二叉树给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个...

网友评论

      本文标题:判定平衡二叉树

      本文链接:https://www.haomeiwen.com/subject/ehhcjktx.html