二叉樹搜索樹的後序遍歷序列
阿新 • • 發佈:2019-03-02
後序 amp return enc 否則 結果 als length boolean
題目:
輸入一個整型數組,判斷該數組是不是二叉搜索樹的後序遍歷結果。
如果是,返回true。否則返回false
解答:
1 public class Solution { 2 3 public static boolean VerifySquenceOfBST(int[] squence) { 4 return VerifySquenceOfBST(squence, squence.length); 5 } 6 7 private static boolean VerifySquenceOfBST(int[] squence, intlength) { 8 if(squence == null || length == 0) { 9 return false; 10 } 11 12 int root = squence[length-1]; 13 14 int i = 0; 15 for(; i < length-1; i++) { 16 if(squence[i] > root) { 17 break; 18 }19 } 20 21 int j = i; 22 for(; j < length-1; j++) { 23 if(squence[j] < root) { 24 return false; 25 } 26 } 27 28 boolean left = true; 29 if(i > 0) { 30 left = VerifySquenceOfBST(squence, i);31 } 32 33 boolean right = true; 34 if(i < length-1) { 35 right = VerifySquenceOfBST(squence, length-i-1); 36 } 37 38 return left&&right; 39 } 40 }
二叉樹搜索樹的後序遍歷序列