LeetCode Validate Binary Search Tree
来源:互联网 发布:app打车软件 编辑:程序博客网 时间:2024/05/16 05:44
LeetCode解题之Validate Binary Search Tree
原题
判断一棵二叉搜索树是否有效。有效是指每个节点的值大于左节点,小于右节点(如果有对应节点的话),且它的左节点和右节点也满足这种条件。
注意点:
- 无
例子:
输入:
2 / \1 3
输出: True
解题思路
在 Binary Tree Inorder Traversal 的基础上进行了修改。在树的中序遍历中,节点的顺序是左节点、根节点、右节点。这就说明一棵二叉搜索树要符合要求时,它的中序遍历序列一定是递增的。如果在中序遍历中出现前面的节点大于后面的节点,则说明不符合要求。
AC源码
# Definition for a binary tree node.class TreeNode(object): def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution(object): def isValidBST(self, root): """ :type root: TreeNode :rtype: bool """ stack = [] curr = root prev = None while curr or stack: while curr: stack.append(curr) curr = curr.left if stack: curr = stack.pop() if prev and curr.val <= prev.val: return False prev = curr curr = curr.right return Trueif __name__ == "__main__": None
欢迎查看我的Github (https://github.com/gavinfish/LeetCode-Python) 来获得相关源码。
0 0
- LeetCode: Validate Binary Search Tree
- [Leetcode] Validate Binary Search Tree
- LeetCode : Validate Binary Search Tree
- [LeetCode] Validate Binary Search Tree
- [LeetCode] Validate binary search tree
- [LeetCode]Validate Binary Search Tree
- [Leetcode]Validate Binary Search Tree
- [leetcode]Validate Binary Search Tree
- LeetCode-Validate Binary Search Tree
- [leetcode] Validate Binary Search Tree
- LeetCode - Validate Binary Search Tree
- [LeetCode] Validate Binary Search Tree
- Leetcode Validate Binary Search Tree
- LeetCode | Validate Binary Search Tree
- LeetCode - Validate Binary Search Tree
- Leetcode: Validate Binary Search Tree
- 【Leetcode】Validate Binary Search Tree
- 【leetcode】Validate Binary Search Tree
- mp4文件
- 【全新干货】创业公司需掌握的九个工具
- Spring4.x+hibernate5.x的整合之基础操作的封装(CRUD包含分页)(待补充)
- 菜鸟逆袭-我的CSDN博客哲学观
- 工厂模式
- LeetCode Validate Binary Search Tree
- IOS-51-改变字符串中指定字符的颜色
- ios appstore 上架应用被拒绝原因
- swift-array-dictionary
- 【代码笔记】iOS-对UIView进行截图
- 再学习MVC
- IOS开发之——蓝牙通信浅谈
- 原型模式
- Python--元编程