验证二叉搜索树

作者: 而立之年的技术控 | 来源:发表于2019-12-18 23:59 被阅读0次

两种写法

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
# 思路:
# 1、中序遍历,将结果保存在ret中;
# 2、遍历ret,看是否是单增;
class Solution:
    def isValidBST(self, root: TreeNode) -> bool:
        if not root:
            return True
        tmp = root
        stack = []
        ret = []
        while tmp or stack:
            while tmp:
                stack.append(tmp)
                tmp = tmp.left
            node = stack.pop()
            ret.append(node.val)
            tmp = node.right
        
        p1 = 0
        p2 = 1
        while p2 < len(ret):
            if ret[p1] >= ret[p2]:
                return False
            p1 += 1
            p2 += 1
        return True
class Solution:
    def isValidBST(self, root: TreeNode) -> bool:
        res = []
        self.search(root, res)
        for i in range(1,len(res)):
            if res[i] <= res[i-1]:
                return False
        return True

    def search(self, root, res):
        if root:
            self.search(root.left, res)
            res.append(root.val)
            self.search(root.right, res)

相关文章

  • Swift 验证二叉搜索树- LeetCode

    题目: 验证二叉搜索树 验证二叉搜索树给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有...

  • LeetCode-98-验证二叉搜索树

    LeetCode-98-验证二叉搜索树 98. 验证二叉搜索树[https://leetcode-cn.com/p...

  • [LeetCode OJ]- Valid Binary Sea

    题目要求:验证一个树是否为二叉搜索树。 二叉搜索树:(BST,二叉排序树,二叉查找树)。 一颗二叉检索树或者为空树...

  • [Leetcode] 98. 验证二叉搜索树

    98. 验证二叉搜索树 来源: 98. 验证二叉搜索树 1. 题目描述 给定一个二叉树,判断其是否是一个有效的二...

  • LeetCode 98. 验证二叉搜索树

    98. 验证二叉搜索树 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点...

  • LeetCode 验证二叉搜索树

    98、验证二叉搜索树参考给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点...

  • 2019 算法面试相关(leetcode)--树、二叉树、二叉搜

    翻转二叉树二叉树的前序遍历二叉树的中序遍历二叉树的后序遍历验证二叉搜索树二叉树的最近公共祖先二叉搜索树的最近公共祖...

  • 【算法】验证二叉搜索树

    验证二叉搜索树 描述 给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子...

  • LeetCode:是否是合法的二叉搜索树

    98. 验证二叉搜索树 给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左...

  • LeetCode-098-验证二叉搜索树

    验证二叉搜索树 题目描述:给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的...

网友评论

    本文标题:验证二叉搜索树

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