判斷陣列是否某二叉搜尋樹的後序遍歷

2021-07-31 03:22:36 字數 406 閱讀 8426

解題思路:由於是後序遍歷結果,也就是陣列最後乙個元素是根節點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...