leetcode Validate Binary Search Tree

2204 단어
제목 링크
사고방식: 언제 합격한 검색 트리를 위해?1 왼쪽은 합격 검색 트리 2 오른쪽은 합격 검색 트리 3 왼쪽보다 큰 최대치 4 오른쪽보다 작은 최소치
운용 귀속 판단
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */
public class Solution {
     public boolean isValidBST(TreeNode root) {
        if(root==null)
        {
            return true;
        }

        boolean left=true;
        boolean right=true;
        if(root.left!=null)
        {

            left=isValidBST(root.left)&&root.val>getmax(root.left);
        }
        if(root.right!=null)
        {
            right=isValidBST(root.right)&&root.val<getmin(root.right);
        }

        return left&&right;


    }

    public int getmin(TreeNode root)
    {

        while(root.left!=null)
        {
            root=root.left;
        }
        return root.val;
    }

    public int getmax(TreeNode root)
    {

        while(root.right!=null)
        {
            root=root.right;
        }
        return root.val;
    }
}

좋은 웹페이지 즐겨찾기