二叉搜索树的后序遍历序列
二叉搜索树的后序遍历序列
http://www.nowcoder.com/questionTerminal/a861533d45854474ac791d90e447bafd
c++ / 递归
//1 5 3 9 12 10 7
class Solution {
public:
//1 5 3 9 12 10 7
bool VerifySquenceOfBST(vector<int> sequence) {
if(sequence.size() == 0)
return false;
return isBST(sequence);
}
bool isBST(vector<int> sequence)
{
int len = sequence.size();
if(len == 1 || len == 0)
return true;
vector<int> left, right;
int i = 0;
while(sequence[i] < sequence[len - 1] && i < len - 1)
left.push_back(sequence[i++]);
while(sequence[i] > sequence[len - 1] && i < len - 1)
right.push_back(sequence[i++]);
if(i < len - 1)
return false;
return isBST(left) && isBST(right);
}
};
SHEIN希音公司福利 278人发布