https://pintia.cn/problem-sets/994805046380707840/problems/994805070971912192

#include<iostream>
#include<queue>
using namespace std;
+],b[+],l[+],r[+],aans[+],pos=;
queue <int> ans;
void bt(int x1,int y1,int x2,int y2){
    if(x1==y1)
        return ;
    if(x2==y2)
        return ;

    int root=a[y1];
    int i;
    for(i=x2;i<=y2;i++)
        if(b[i]==root)
            break;
    if(i>x2){
        l[y1]=i-x2-+x1;
        bt(x1,i-x2-+x1,x2,i-);
    }
    if(i<y2){
        r[y1]=y1-;
        bt(i-x2+x1,y1-,i+,y2);
    }
}

int main(){
    ;i<+;i++){
        l[i]=-;
        r[i]=-;
    }
    int n;
    cin>>n;
    ;i<n;i++)
        cin>>a[i];
    ;i<n;i++)
        cin>>b[i];
    bt(,n-,,n-);
    /*for(int i=0;i<n;i++)
        cout<<i<<" "<<a[i]<<" "<<l[a[i]]<<" "<<r[a[i]]<<endl;*/
    ans.push(n-);
    while(!ans.empty()){
        int t=ans.front();
        aans[pos++]=t;
        ans.pop();
        )
            ans.push(l[t]);
        )
            ans.push(r[t]);
    }
    ;i<pos-;i++)
        cout<<a[aans[i]]<<" ";
    cout<<a[aans[pos-]]<<endl;
    ;
}

我傻了,一开始直接用l和r数组存的键值(因为看了刘汝佳的紫书的那道题),结果俩点不过,后来把l和r换成存下标就过了???
也许是因为键值很大???

PTA 这是二叉搜索树吗?的更多相关文章

  1. 二叉搜索树的结构(30 分) PTA 模拟+字符串处理 二叉搜索树的节点插入和非递归遍历

    二叉搜索树的结构(30 分) PTA 模拟+字符串处理 二叉搜索树的节点插入和非递归遍历   二叉搜索树的结构(30 分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则 ...

  2. PTA 04-树4 是否同一棵二叉搜索树 (25分)

    题目地址 https://pta.patest.cn/pta/test/15/exam/4/question/712 5-4 是否同一棵二叉搜索树   (25分) 给定一个插入序列就可以唯一确定一棵二 ...

  3. PTA 7-1 是否完全二叉搜索树 (30分)

    PTA 7-1 是否完全二叉搜索树 (30分) 将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果. ...

  4. PTA二叉搜索树的操作集 (30分)

    PTA二叉搜索树的操作集 (30分) 本题要求实现给定二叉搜索树的5种常用操作. 函数接口定义: BinTree Insert( BinTree BST, ElementType X ); BinTr ...

  5. PTA 是否二叉搜索树 (25分)

    PTA 是否二叉搜索树 (25分) 本题要求实现函数,判断给定二叉树是否二叉搜索树. 函数接口定义: bool IsBST ( BinTree T ); 其中BinTree结构定义如下: typede ...

  6. PTA 7-2 是否完全二叉搜索树(30 分) 二叉树

    将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果. 输入格式: 输入第一行给出一个不超过20的正整数 ...

  7. PTA 7-2 二叉搜索树的结构(30 分)

    7-2 二叉搜索树的结构(30 分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右子树上所有结点的值均大 ...

  8. pta l2-4(这是二叉搜索树吗?)

    题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805070971912192 题意:给定n以及n个整数,问该序列 ...

  9. PTA L2-004 这是二叉搜索树吗?-判断是否是对一棵二叉搜索树或其镜像进行前序遍历的结果 团体程序设计天梯赛-练习集

    L2-004 这是二叉搜索树吗? (25 分)   一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点, 其左子树中所有结点的键值小于该结点的键值: 其右子树中所有结点的键值大于等于该结 ...

随机推荐

  1. VMware workstation 语言包切换

    VMware-workstation-full-10.0.2-1744117安装默认为中文版,如果要使用英文版做如下操作: 找到你的VMware安装目录:例如:D:\Program Files (x8 ...

  2. Dockerfile RUN, CMD & ENTRYPOINT

    Dockerfile RUN, CMD & ENTRYPOINT 在使用Dockerfile创建image时, 有几条指令比较容易混淆, RUN, CMD, ENTRYPOINT. RUN是在 ...

  3. 使用js/jquery查找iframe中的

    原生js  一.在iframe的父窗口中获取iframe中的元素: js代码 格式: window.frames["iframe的name值"].document.getEleme ...

  4. python使用git进行版本控制1

    首先,选择一个合适的地方,创建一个空目录: $ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit pwd命令用于显示当前目录. 如果 ...

  5. arean.c

    glibc-2.14中的arean.c源代码,供研究malloc和free实现使用: /* Malloc implementation for multiple threads without loc ...

  6. linux每天一小步---sed命令详解

    1 命令功能 sed是一个相当强大的文件处理编辑工具,sed用来替换,删除,更新文件中的内容.sed以文本行为单位进行处理,一次处理一行内容.首先sed吧当前处理的行存储在临时的缓冲区中(称为模式空间 ...

  7. How to Create a Framework for iOS[RE]

    In the previous tutorial, you learned how to create a reusable knob control. However, it might not b ...

  8. handsontable-cell features

    数据验证:在columns中设置validator,进行同步或异步验证,还可添加beforeValidate, afterValidate函数,allowInvalid:true可以不用验证 var ...

  9. 原创:MVC 5 实例教程(MvcMovieStore 新概念版:mvc5.0,EF6.01) - 1、初露锋芒

    说明:MvcMovieStore项目已经发布上线,想了解最新版本功能请登录 MVC 影视(MvcMovie.cn) 进行查阅.如需转载,请注明出处:http://www.cnblogs.com/Dod ...

  10. QPS的计算

    QPS = req/sec = 请求数/秒 Q:如何根据日志查看一个服务的qps A: 一般access.log是记录请求的日志,tail  -f XXX.access.log ,可发现格式如下: 前 ...