如何进行单值二叉树

如何进行单值二叉树

如何进行单值二叉树,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

    如何进行单值二叉树  

单值二叉树

如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树.

只有给定的树是单值二叉树时,才返回true;否则返回false.

示例1:

输入:[1,1,1

输出:true

示例2:

输入:[2,2,2,5,2

输出:false

type TreeNode struct {    Val   int    Left  *TreeNode    Right *TreeNode}func isUnivalTree(root *TreeNode) bool {    if root == nil {        return true    }    stack := []*TreeNode{root}    var v = root.Val    for len(stack) > 0 {        size := len(stack)        for i := 0; i < size; i++ {            node := stack[i]            if node.Val != v {                return false            }            if node.Left != nil {                stack = append(stack, node.Left)            }            if node.Right != nil {                stack = append(stack, node.Right)            }        }        stack = stack[size:]    }    return true

看完上述内容,你们掌握如何进行单值二叉树的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!