二叉树扩展先序遍历转中序遍历
title: 二叉树扩展先序遍历转中序遍历
categories:
- ICPC
tags:
- null
abbrlink: 1ff53043
date: 2024-09-01 00:00:00
利用前序遍历的特性,如果左子树不空,下一个一定是左节点,不然就是#
因为是转中序遍历,就在两次遍历之间输出
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int k;
string str;
void dfs()
{
if (str[k] == '#')
{
k ++ ;
return;
}
char r = str[k ++ ]; // 根节点
dfs(); // 左子树
cout << r << ' ';
dfs(); // 右子树
}
int main()
{
cin >> str;
dfs();
return 0;
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 爱飞鱼的blog!