解題思路:由於是後序遍歷結果,也就是陣列最後乙個元素是根節點root,按照二叉搜尋樹的定義,陣列前面的元素中前半部分比root小,後半部分比root大,我們通過遍歷陣列跟root比較,如果比root大,記錄這個位置i,從這個i到直到最後的元素跟root比較,如果還有比root小的元素,說明不符,返回false,然後遞迴,檢測所有子樹
public
class
solution
}int j=i;
for(;j1;j++)
boolean isleft=true;
if(i>0)
boolean isright=true;
if(i1)
return isleft&&isright;
}}
判斷陣列是否某二叉搜尋樹的後序遍歷
輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。public class solution public static boolean verifysquenceofbst int sequence,int s...
判斷某陣列是不是某二叉搜尋樹的後序遍歷的結果
最近在整理之前做過的演算法題,有疑問或者有更好的解題思路可以和我聯絡。輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。public class solution 如果陣列是某二叉搜尋樹的後序遍歷的結果,那麼ro...
判斷陣列是否是二叉搜尋樹的後序遍歷
給乙個序列,判斷該序列是否是二叉搜尋樹的後序遍歷結果。功能測試 序列對應一顆二叉樹,序列對應一顆只含左孩子 右孩子 的二叉樹,序列只含乙個根節點。特殊值測試 空指標 include include include includeusing namespace std bool doesbinarys...