【思路】BST的后序序列的合法序列是,对于一个序列S,最后一个元素是x (也就是根),如果去掉最后一个元素的序列为T,那么T满足:T可以分成两段,前一段(左子树)小于x,后一段(右子树)大于x,且这两段(子树)都是合法的后序序列。下面是在讨论中看到的一份代码,已学习到。

 1 class Solution {
 2 public:
 3     bool VerifySquenceOfBST(vector<int> sequence) {
 4         int size = sequence.size();
 5         if(size == 0)
 6             return false;
 7         int i = 0;
 8         while(--size){
 9             while(sequence[i ++] < sequence[size]);
10             while(sequence[i ++] > sequence[size]);
11             if(i < size)
12                 return false;
13             i = 0;
14         }
15         return true;
16     }
17 };

 

相关文章:

  • 2022-02-15
  • 2021-12-14
  • 2021-06-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-25
  • 2021-11-27
猜你喜欢
  • 2021-09-17
  • 2021-07-24
  • 2022-12-23
  • 2021-12-18
  • 2021-12-13
  • 2021-12-07
相关资源
相似解决方案