class Solution { public: bool verify(vector<int>& sequence, int l, int r) { if (l >= r) return true; // base case int root = sequence[r]; int lr=l; // left boundary of the right subtree for (; lr<r; lr++) { if (sequence[lr] > root) break; } for (int i=lr; i<r; i++){ if (sequence[i] < root) return false; } return verify(sequence, l,lr-1) && verify(sequence, lr, r - 1); } bool VerifySquenceOfBST(vector<int> sequence) { if (sequence.size() == 0) return false; return verify(sequence, 0, sequence.size() - 1); } };
Segfault => index不对