劍指offer:
輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。
public class verifysquenceofbst ;
int arr1 = new int;
int arr2 = new int;
boolean b = verifysquenceofbst.verifysquenceofbst(arr2);
system.out.println(b);
}public boolean verifysquenceofbst(int sequence)
return verifysubtree(sequence, 0, sequence.length);
}public boolean verifysubtree(int sequence, int start, int length)
int root = sequence[start + length - 1];
for (int i = 0; i < length - 1; i++)
}//如果走到這一步,說明序列可能是這樣的:4, 8, 6, 12, 16, 14, 10
//這時需要進一步遞迴判斷左右子樹
return verifysubtree(sequence, start, i)
&& verifysubtree(sequence, start + i, length - i - 1);}}
//如果走到這一步,說明序列可能是這樣的:1,2,3,4,5,6,7,8,9
// 那麼接下來只需要去除根節點判斷左子樹
return verifysubtree(sequence, start, length - 1);
}}
劍指Offer 二叉搜尋樹的後序遍歷
輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。author zy date 2017年10月13日 下午9 34 21 decription 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如...
劍指offer 二叉搜尋樹的後序遍歷
時間限制 1秒 空間限制 32768k 熱度指數 524747 本題知識點 棧 樹輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。這兩天狀態不行,沒多大刷題的動力。菜還不想動,說的大概就是我了。遞迴 大佬的思路...
劍指offer 二叉搜尋樹的後序遍歷
題目描述 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。簡單思路 二叉搜尋樹 1.左孩子 根 右孩子 2.bst的左孩子和右孩子都是bst 發現對於每一棵子樹,它的根結點總是對應該子樹的後序序列的最後乙個數 ...