1. 程式人生 > >劍指 Offer - 23:二叉搜尋樹的後序遍歷序列

劍指 Offer - 23:二叉搜尋樹的後序遍歷序列

題目描述

輸入一個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出Yes,否則輸出No。假設輸入的陣列的任意兩個數字都互不相同

題目連結:https://www.nowcoder.com/practice/a861533d45854474ac791d90e447bafd

解題思路

二叉搜尋樹,根的左邊都比根小,根的右邊都比根大
依據上述特性,刪除根節點,進而將序列分段,分段成功則繼續遞迴

public class Solution {
    public boolean VerifySquenceOfBST(int []
sequence) { if (sequence == null || sequence.length == 0) return false; int len = sequence.length; int i = 0; while (len > 1) { len--; while (sequence[i++] < sequence[len] && i < len); while (sequence[i++] > sequence[
len] && i < len); if (i < len) return false; i = 0; } return true; } }