zoukankan      html  css  js  c++  java
  • 判断一个整数数组是不是二叉搜索树的后序遍历序列

    题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。

               如果是返回true,否则返回false

     

    bool isPostSequence(int *num,int n)
    {
        if(num==NULL || n<=0)
        {
            //throw new exception("the input is error");
        }
        int *pstart=num,*pend=num+n;
        return isPostSequenceByIndex(pstart,pend);
        
    }
    
    bool isPostSequenceByIndex(int *pstart,int *pend)
    {
        if(pstart==pend)
        {
            return true;
        }
        int *cur=pstart;
        while(cur<pend)
        {
            if(*cur<*pend)
            {
                cur++;
            }else
            {
                break;
            }
        }
        int *mid=cur;
        while(cur<pend)
        {
            if(*mid<*pend)
            {
                return false;
            }else
            {
                cur++;
            }
        }
    return isPostSequenceByIndex(pstart,mid) && isPostSequenceByIndex(mid+1, pend);
    }


  • 相关阅读:
    springcloud之配置中心和消息总线(配置中心终结版)
    yaml
    RESTful API
    单元测试Junit5
    IDEA社区版创建web项目
    Mybatis常见面试题
    mybatis逆向工程
    mybatis注解
    延迟加载
    缓存
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3206585.html
Copyright © 2011-2022 走看看