균형 이진 트리 여부를 결정

이진 트리 감안할 때, 그것은 균형 이진 트리의 여부를 판단한다;

균형 이진 트리가 왼쪽 노드가 루트 노드 미만이라고합니다 오른쪽보다 루트 노드 이하,

우리는 균형 이진 트리 탐색 순서에 있었다, 결과가 오름차순입니다, 우리의 문제 해결 방안이 또 다른 방법입니다

다음과 같이 코드입니다 :

공공 부울 isValidBST합니다 (TreeNode를 루트) { 
        스택 <TreeNode를> 스택 = 새 새 스택 <> ();
          TMP = Long.MIN_VALUE로부터의,
         그동안은 (stack.isEmpty이 () 루트 ||! = null의 {)
             그동안 ! (= 루트를 널 (null) ) { 
                stack.push (루트) 
                루트 = root.left; 
            } 
            에 IF (! stack.isEmpty ()) { 
                루트 = stack.pop ();
                 // 현재 노드는 스택보다 큰 값인지를 판단 노드 
                IF (root.val <= TMP) {
                    돌아  거짓 ; 
                } 
                TMP = root.val * 1L ; 

                루트 = root.right; 
            } 
        } 
        반환  사실 ; 
    }

 

추천

출처www.cnblogs.com/du001011/p/11241640.html