码迷,mamicode.com
首页 > 编程语言 > 详细

leecode 树是否是平衡树 java

时间:2014-07-01 12:20:06      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   java   strong   for   

https://oj.leetcode.com/problems/validate-binary-search-tree/

1.中序遍历是否有序

/**
 * Definition for binary tree
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    private int a=-(1<<31);
  
    public boolean isValidBST(TreeNode root) {
        
        
      return middle(root);
       
        
    }
    public boolean middle(TreeNode root)
    {
        if(root==null) return true;
        if(!middle(root.left)) return false;
        if(root.val<=a) 
        {
            return false;
        
        }
        
        a=root.val;
        return middle(root.right);
        
        
    }
}

  2.记住每个节点的范围 开始时候(min,max)设为int最大,最小,然后在左子树上范围为(min, root.val) 判断节点是否在范围;

 

 

/**
 * Definition for binary tree
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    public boolean isValidBST(TreeNode root) {
        
        
        int min=-(1<<31);
        int max=1<<31-1;
       return isValid(root,min,max);
        
        
    }
    public boolean isValid(TreeNode root,int min,int max)
    {
        if(root==null) return true;
        if(root.val>min&&root.val<max)
        {
            return isValid(root.left,min,root.val)&&isValid(root.right,root.val,max);
            
        }
        return false;
        
        
    }
}

  

 

leecode 树是否是平衡树 java,布布扣,bubuko.com

leecode 树是否是平衡树 java

标签:style   blog   http   java   strong   for   

原文地址:http://www.cnblogs.com/hansongjiang/p/3817317.html

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