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);
    }


  • 相关阅读:
    组件映射
    联合主键关联
    一对一单向双向主键关联
    7函数
    forEach与map
    3运算符与表达式
    作用域声明提升
    php程序设计 1,2章节
    angularJs(3)过滤器
    angularJs(1)指令篇
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3206585.html
Copyright © 2011-2022 走看看