L2-011 玩转二叉树(数组建树)

原题位置

这道题基本上与这道题一样,详细解析可以点进去看看。

唯一不同在于下标的运用,由于要镜像,左右儿子要实现对调,那我们只需在使用下标时,左右儿子下标反着用就行,即左儿子用2 * index+2,右儿子用2 * index+1

#include<iostream>
#include<vector>
#include<map>
using namespace std;
int N;
vector<int> pre,in;
map<int,int> ans;

void level(int root,int l,int r,int index)
{
    if (l>r) return ;
    int k=l;
    for (k=l;k<=r;k++) if (pre[root]==in[k]) break;
    ans[index]=pre[root];
    level(root+1,l,k-1,2*index+2);
    level(root+1+k-l,k+1,r,2*index+1);
}

int main()
{
    cin.tie(0);
    cin>>N;
    pre.resize(N),in.resize(N);
    for (int i=0;i<N;i++) cin>>in[i];
    for (int i=0;i<N;i++) cin>>pre[i];
    level(0,0,N-1,0);
    bool flag=false;    
    for (auto i:ans)
    {
        if (!flag) flag=true;
        else cout<<" ";
        cout<<i.second;
    }
  
    return 0;
}

另外一种输出代码

 for (int i=0;i<ans.size();i++) 
    {
        if (ans[i]) {
        if (!flag) flag=true;
        else cout<<" ";
        cout<<ans[i];
        }
    }

相关推荐

  1. L2-011 (数组建树)

    2024-03-22 14:56:02       17 阅读
  2. PTA天梯赛习题 L2-004 这是搜索吗?

    2024-03-22 14:56:02       19 阅读
  3. PTA-L2-004 这是搜索吗?

    2024-03-22 14:56:02       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-22 14:56:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-22 14:56:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-22 14:56:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-22 14:56:02       20 阅读

热门阅读

  1. go执行go mod tidy时报错连接失败(go换依赖源)

    2024-03-22 14:56:02       20 阅读
  2. git 问题

    2024-03-22 14:56:02       22 阅读
  3. 基于PyTorch深度学习实战入门系列-PyTorch基础上

    2024-03-22 14:56:02       20 阅读
  4. python基础学习第一天

    2024-03-22 14:56:02       20 阅读
  5. 在Hive中使用Python编写的UDF函数

    2024-03-22 14:56:02       18 阅读
  6. Linux shell 命令中nohup 、&、重定向的使用

    2024-03-22 14:56:02       22 阅读
  7. 【Python】Python中装饰器和魔法方法的区别

    2024-03-22 14:56:02       21 阅读
  8. harmonyos:Socket连接

    2024-03-22 14:56:02       20 阅读