[LeetCode] 이 진 트 리 판정

2105 단어 알고리즘
출처
두 갈래 검색 트 리 검증
분석 하 다.
이 진 트 리 를 지정 하여 효과 적 인 이 진 트 리 인지 판단 합 니 다.이 진 트 리 가 다음 과 같은 특징 을 가지 고 있다 고 가정 합 니 다. - 노드 의 왼쪽 트 리 는 현재 노드 보다 작은 숫자 만 포함 합 니 다. -노드 의 오른쪽 트 리 는 현재 노드 보다 큰 숫자 만 포함 합 니 다. -모든 왼쪽 트 리 와 오른쪽 트 리 자체 도 이 진 트 리 여야 합 니 다.
중간 순 서 를 옮 겨 다 니 는 것 은 왼쪽, 오른쪽, 그리고 옮 겨 다 니 는 노드 를 목록 에 순서대로 놓 으 면 목록 이 작은 것 에서 큰 것 으로 배열 되 는 것 을 보장 할 수 있 습 니 다.따라서 최종 목록 을 확인 하면 된다.
결실
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public boolean isValidBST(TreeNode root) {
        List list = new LinkedList();
        mid(root, list);
        if(list.size() < 1) {
            return true;
        }

        int first = list.get(0);
        for(int i=1;iif(list.get(i) <= first) {
                return false;
            }
            first = list.get(i);
        }

        return true;
    }

    private void mid(TreeNode node, List list) {

        if(node != null) {
            mid(node.left,list);
            System.out.println(node.val);
            list.add(node.val);
            mid(node.right,list);
        }
    }

}

좋은 웹페이지 즐겨찾기