(初级)6.验证二叉搜索树

2018-08-05  本文已影响6人  one_zheng

给定一个二叉树,判断其是否是一个有效的二叉搜索树。

假设一个二叉搜索树具有如下特征:


//  Definition for a binary tree node.
 type TreeNode struct {
       Val int
     Left *TreeNode
      Right *TreeNode
 }
 
func isValidBST(root *TreeNode) bool {
    list := make([]*int, 0)
    inordertravel2(root, list)
    for i := 0; i < len(list)-1; i++ {
        if *list[i] >= *list[i+1] {
            return false
        }
    }
    return true
}

// inordertravel2 中序遍历
func inordertravel2(root *TreeNode, list []*int) {
    if root == nil {
        return
    }
    inordertravel2(root.Left, list)
    list = append(list, &root.Val)
    inordertravel2(root.Right, list)
}
上一篇下一篇

猜你喜欢

热点阅读