[LeetCode] 98 검증 이진 검색 트리

이름

유효한 이진 검색 트리인지 확인 이진 트리를 감안할 때.

다음과 같은 특성을 갖는 이진 검색 트리를 가정 해 봅시다 :

트리의 왼쪽 자식 노드는 현재 노드의 수보다 단지 적게 포함되어 있습니다.
오른쪽 하위 트리 현재 노드의 노드 수보다 단지 더 포함되어 있습니다.
모든 왼쪽 하위 트리 오른쪽 하위 트리 자체도 이진 검색 트리해야합니다.

출처 : 숙박 버튼 (LeetCode)
링크 : https://leetcode-cn.com/problems/validate-binary-search-tree는
모든 네트워크에서 공제 저작권. 상업 무단 전재 소스를 표시하시기 바랍니다 승인 된 공식, 비상업적 재판에 문의하시기 바랍니다.

문제 해결

제목으로 예약 주문 그것은 BST입니다 엄격하게 증가한다.
필요가 단순히 과정에 인접한 두 요소 예약 주문 서열을 비교하기 위해 탐색의 결과를 저장 없습니다.

코드

public static boolean isValidBST(TreeNode root) {
        Stack<TreeNode> stack = new Stack<>();
        TreeNode curNode = root;
        long maxVal = Long.MIN_VALUE;
        while (curNode != null || !stack.isEmpty()) {//
            while (curNode != null) {
                stack.push(curNode);
                curNode = curNode.left;
            }
            curNode = stack.pop();
            if (curNode.val > maxVal) {
                maxVal = curNode.val;
                curNode = curNode.right;//
            } else {
                return false;
            }
        }
        return true;
    }

추천

출처www.cnblogs.com/coding-gaga/p/11823573.html