已知前序和中序,输出后序遍历
来源:百度知道 编辑:UC知道 时间:2024/05/27 21:19:37
参数:
abd4516c23 4d5b16a2c3
输出:
45d61b23ca
需要进一步解释吗?
#include <stdio.h>
void fun(char* pcReadAt1, char* pcReadAt2, char* pcWriteAt, int iNumOf);
int main()
{
char s1[11], s2[11], s3[11] = "0123456789";
scanf("%s%s", s1, s2);
fun(s1, s2, s3, 10);
printf("%s\n", s3);
return 0;
}
void fun(char* pcReadAt1, char* pcReadAt2, char* pcWriteAt, int iNumOf)
{
// 记录头节点
char cHead = *pReadAt1;
int iNumOfLeft = 0;
// 排错
if ( 0 != iNumOf )
{
// 将头节点写在最后面
pWriteAt[iNumOf - 1] = cHead;
if ( 1 != iNumOf )
{
// 求头节点在中序中的位置
for ( iNumOfLeft = 0; cHead != pcReadAt2[iNumOfLeft]; ++iNumOfLeft );
// 对两个子树
fun(
pcReadAt1 + 1,
pcReadAt2,
pcWr