码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode OJ - Validate Binary Search Tree

时间:2014-05-07 09:01:45      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   color   

验证二叉树是否是查找树,可以通过查看它的中序遍历是否是升序的。

下面是AC代码:

bubuko.com,布布扣
 1 /**
 2      * Given a binary tree, determine if it is a valid binary search tree (BST).
 3      * solution :
 4      * inorder sequence is an ascending sequence!
 5      * @param root
 6      * @return
 7      */
 8     public boolean isValidBST(TreeNode root){
 9         if(root == null)
10             return true;
11         LinkedList<TreeNode> stack = new LinkedList<TreeNode>();
12         //stack.push(root);
13         
14         TreeNode p = root;
15         TreeNode pre = null;
16         while(p!=null||!stack.isEmpty()){
17             if(p!=null){
18                 stack.push(p);
19                 p = p.left;
20             }else{
21                 p = stack.pop();
22                 if(pre!=null && pre.val>=p.val)
23                     return false;
24                 pre = p;
25                 p = p.right;
26             }
27         }
28         return true;
29     }
bubuko.com,布布扣

 

LeetCode OJ - Validate Binary Search Tree,布布扣,bubuko.com

LeetCode OJ - Validate Binary Search Tree

标签:style   blog   class   code   java   color   

原文地址:http://www.cnblogs.com/echoht/p/3710467.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!