剑指offer 33. 二叉搜索树的后序遍历序列(递归;单调栈)

2020年12月16日 周三 天气晴 【不悲叹过去,不荒废现在,不惧怕未来】


本文目录

  • 1. 题目简介
  • 2. 递归
  • 3. 单调栈
  • 参考文献


1. 题目简介

剑指offer 33. 二叉搜索树的后序遍历序列(递归;单调栈)_第1张图片
这道题其实就是验证一个序列是否是二叉搜索树的后序遍历

2. 递归

递归法比较简单直观:先根据定义,判断左子树中所有节点的值是否小于根节点的值,右子树中所有节点的值是否大于根节点的值,满足条件后再递归对左右子树进行判断,直到遍历完整个序列。时间复杂度为 O ( n 2 ) O\left( {n^2} \right) O(n2)

class Solution {
   
public:
    bool verifyPostorder(vector<int>& postorder) {
   
        return recur(postorder, 0, postorder.size()-1)

你可能感兴趣的:(研究生生活——算法,算法,leetcode,二叉搜索树)