Leetcode 98. 验证二叉搜索树
【摘要】
98. 验证二叉搜索树
给定一个二叉树,判断其是否是一个有效的二叉搜索树。
假设一个二叉搜索树具有如下特征:
节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。
示例 1:
输入:
2
/ \
1 3
输出:...
给定一个二叉树,判断其是否是一个有效的二叉搜索树。
假设一个二叉搜索树具有如下特征:
- 节点的左子树只包含小于当前节点的数。
- 节点的右子树只包含大于当前节点的数。
- 所有左子树和右子树自身必须也是二叉搜索树。
示例 1:
输入: 2 / \ 1 3 输出: true示例 2:
输入: 5 / \ 1 4 / \ 3 6 输出: false 解释: 输入为: [5,1,4,null,null,3,6]。 根节点的值为 5 ,但是其右子节点值为 4 。
-
# Definition for a binary tree node.
-
# class TreeNode(object):
-
# def __init__(self, x):
-
# self.val = x
-
# self.left = None
-
# self.right = None
-
-
class Solution(object):
-
def isValidBST(self, root):
-
"""
-
:type root: TreeNode
-
:rtype: bool
-
"""
-
inorder = self.inorder(root)
-
return inorder == list(sorted(set(inorder)))
-
-
def inorder(self,root):
-
if root is None:
-
return []
-
return self.inorder(root.left)+[root.val]+self.inorder(root.right)
文章来源: blog.csdn.net,作者:沧夜2021,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/CANGYE0504/article/details/89674672
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)