当前位置: 首页 > news >正文

re题(46)BUUCTF-[WUSTCTF2020]level4

 BUUCTF在线评测

ida打开找main函数,看到提示词data strycture知道是数据结构,查看init,type1,type2函数

init函数是一种数据结构的赋值操作

type1是二叉树中序遍历输出

type2是二叉树后序遍历输出

因为是elf文件,把文件放到虚拟机里运行一下,我们知道了中序和后序遍历的结果,就是让我们用前序遍历输出

 用c++写一下脚本

#include <iostream>
 //知道后序和中序遍历结果,用前序遍历输出 
using namespace std;

char post[] = "20f0Th{2tsIS_icArE}e7__w"; // 后序遍历结果,字符串中每个字符都有下标 
char mid[] = "2f0t02T{hcsiI_SwA__r7Ee}"; // 中序遍历结果,字符串中每个字符都有下标  
void pre(int root, int start, int end)
//  root指的是后序遍历中根在字符串中的下标,因为后序遍历顺序是左右根,所以最后的根
//是二叉树最顶上的那个字符,也就是前序遍历的第一个字符(自己画一下就明白了)
//start指的是中序遍历中要处理的树所包含字符串开始的下标,因为中序遍历顺序是左根右

//关键是理解我们看一棵树的时候,要知道根只是一个字符,左子树是根左边所有相连的字符
//构成左子树,右子树同样道理,所以说如果以最顶上的字符为根,那么这棵树就包含了所有
//的字符,再举个例子,如果以最顶上字符左边相连的第一个字符为根,那么这棵树包含的
//字符就是 以最顶上字符为根的树 的左子树 包含的字符 

//end指的是中序遍历中要处理的树所包含字符串结束的下标 
{
    if (start > end)
        return;
//因为中序是左根右,所以要处理的字符数量最少为1,否则返回空,即开始位置要小于等于结束位置 
    int i = start;//把中序遍历要处理树的开始字符的下标赋给i 
    while (i < end && mid[i] != post[root]) i++;  //用i定位要处理树的根在中序的位置
    cout << mid[i];  //输出当前处理的树的根
    pre(root - 1 - (end - i), start, i - 1);  //递归把当前树的左子树作为新树再处理 
    pre(root - 1, i + 1, end);  //递归把当前树的右子树作为新树再处理  
}

int main()
{
    pre(24, 0, 24);
    return 0;
}

// wctf2020{This_IS_A_7reE}

 

帮助理解二叉树:

C语言实现二叉树的遍历(数据结构)_二叉树遍历c语言-CSDN博客

二叉树遍历:已知前序中序输出后序/已知后序中序输出前序_知道前序和中序-CSDN博客

相关文章:

  • Spring Boot 集成高德地图电子围栏
  • Redis hyperloglog学习
  • Gymnasium学习笔记
  • C语言【常用】【字符函数 和 字符串函数】详解加模拟实现
  • 分布式文件系统Minio
  • 鸿蒙编译框架@ohos/hvigor FileUtil用法
  • 时序优化学习笔记
  • Matlab 基于专家pid控制的时滞系统
  • Vue 计算属性与 Data 属性同名问题深度解析
  • vue computed 计算属性简述
  • 【Leetcode】138.随机链表的复制
  • Windows的tftp udp 69端口被占用,通过netstat查询
  • Feedback-Guided Autonomous Driving
  • Spring Cloud Gateway 生产级实践:高可用 API 网关架构与流量治理解析
  • QT 磁盘文件 教程04-创建目录、删除目录、遍历目录
  • OpenEuler kinit报错找不到文件的解决办法
  • js给后端发送请求的方式有哪些
  • 软考中级-数据库-5.1 计算机网络概述与网络硬件基础
  • Mmybatis xml 连接数据库的方法
  • PyTorch 深度学习实战(13):Proximal Policy Optimization (PPO) 算法
  • 市场监管总局出手整治涉企乱收费,聚焦政府部门及下属单位等领域
  • 国务院安委办、应急管理部进一步调度部署“五一”假期安全防范工作
  • 五部门:开展新就业形态劳动者劳动权益保障水平提升专项行动
  • TCL科技一季度净利增超三倍,去年半导体显示业务营收创新高
  • “五一”假期,又有多地将向社会开放政府机关食堂
  • 十四届全国人大常委会举行第四十三次委员长会议 ,听取有关草案和议案审议情况汇报