[leetcode]Validate Binary Search Tree
2013-08-16 18:05
453 查看
经过昨日训练,中序遍历基本会了。所以这个就比较顺利,对二分查找树来说,中序遍历就是递增的。所以遍历一下,遇到反例返回false即可。
另外一种递归解法见此:http://www.cnblogs.com/remlostime/archive/2012/11/16/2772629.html
递归判断,递归时传入两个参数,一个是左界,一个是右界,节点的值必须在两个界的中间,同时在判断做子树和右子树时更新左右界。
public class Solution { public boolean isValidBST(TreeNode root) { Stack<TreeNode> stack = new Stack<TreeNode>(); TreeNode n = root; int last = Integer.MIN_VALUE; while (n != null || !stack.empty()) { if (n != null) { stack.push(n); n = n.left; } else { n = stack.pop(); // visit n if (n.val <= last) return false; last = n.val; n = n.right; } } return true; } }
另外一种递归解法见此:http://www.cnblogs.com/remlostime/archive/2012/11/16/2772629.html
递归判断,递归时传入两个参数,一个是左界,一个是右界,节点的值必须在两个界的中间,同时在判断做子树和右子树时更新左右界。
相关文章推荐
- [LeetCode] Validate Binary Search Tree
- 【Leetcode】【python】Validate Binary Search Tree
- LeetCode Validate Binary Search Tree
- [leetcode]Validate Binary Search Tree @ Python
- LeetCode-validate-binary-search-tree
- [LeetCode] Validate Binary Search Tree
- LeetCode: Validate Binary Search Tree [098]
- [Leetcode]@python 98. Validate Binary Search Tree
- LeetCode 98 Validate Binary Search Tree(Python详解及实现)
- 【leetcode】Validate Binary Search Tree
- [LeetCode] Validate Binary Search Tree
- leetcode 98. Validate Binary Search Tree DFS深度优先搜索 + 两个递归函数 + 一个错误做法
- LeetCode No.98 Validate Binary Search Tree
- [Leetcode] Validate Binary Search Tree (Java)
- 【leetcode】Validate Binary Search Tree 题解三种思路
- Leetcode 98. Validate Binary Search Tree
- 【LeetCode】Validate Binary Search Tree
- [LeetCode] Validate Binary Search Tree 验证二叉搜索树
- LeetCode 098 Validate Binary Search Tree
- 【Leetcode】【Medium】Validate Binary Search Tree