98. Validate Binary Search Tree
来源:互联网 发布:什么是绿色版软件 编辑:程序博客网 时间:2024/04/25 17:14
Given a binary tree, determine if it is a valid binary search tree (BST).
Assume a BST is defined as follows:
- The left subtree of a node contains only nodes with keys less than the node's key.
- The right subtree of a node contains only nodes with keys greater than the node's key.
- Both the left and right subtrees must also be binary search trees.
Solution 1 Recursive
//还有一种方法是利用中序遍历得到数组,然后判断数组是不是递增的就行。用到n的空间。duplicates not working//Avoid [Integer.MIN_VALUE]public boolean isValidBST(TreeNode root) { return isValidBST(root, Long.MIN_VALUE, Long.MAX_VALUE); } public boolean isValidBST(TreeNode root, long min, long max) { if (root == null) return true; if (root.val >= max || root.val <= min) return false; return isValidBST(root.left, min, root.val) && isValidBST(root.right, root.val, max); }
Solution 2 Iterative
//Iterative public static boolean isValidBST2(TreeNode root) { Stack<TreeNode> stack = new Stack<TreeNode> (); TreeNode cur = root ; TreeNode pre = null ; while (!stack.isEmpty() || cur != null) { if (cur != null) { stack.push(cur); cur = cur.left ; } else { TreeNode p = stack.pop() ; if (pre != null && p.val <= pre.val) { return false ; } pre = p ; cur = p.right ; } } return true ; }
0 0
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- progressBar与seekBar区别
- oracle基本常识
- java代理理解
- 如何正确获取MYSQL的ADO连接字符串
- postgresql网站翻译
- 98. Validate Binary Search Tree
- 全局变量、静态全局变量、静态局部变量
- TreeMap源码解析
- 大半夜写个简单点的
- MySQL 5.7及以上解压缩版本配置安装
- 这个写完该去睡觉啦
- 面试系列之三:C艹在双链表中插入结点
- 三和韓長庚 著 易學原理總論 對讀 141-152
- Python爬虫利器requests详解