网站建设 海豚弯,超级外链,网易企业邮箱过期了,四川展厅设计公司每日OJ —— KY11 二叉树遍历 1.题目#xff1a;KY11 二叉树遍历2.解法2.1.算法讲解2.2.代码实现2.3.提交通过展示 1.题目#xff1a;KY11 二叉树遍历 2.解法
2.1.算法讲解 1.首先需要创建二叉树结构。 2.其次#xff0c;根据题目根据题目遍历的顺序要求来实现构建二叉树的… 每日OJ —— KY11 二叉树遍历 1.题目KY11 二叉树遍历2.解法2.1.算法讲解2.2.代码实现2.3.提交通过展示 1.题目KY11 二叉树遍历 2.解法
2.1.算法讲解 1.首先需要创建二叉树结构。 2.其次根据题目根据题目遍历的顺序要求来实现构建二叉树的函数接口需要注意的是再构建二叉树给数组存储数据的时候数组的下标要用指针接收否则再递归的时候会叠加越界。 3.接着实现最后中序遍历的函数接口。 4.最后在主函数里定义二叉树的数据字符数组然后输入数据调用构建二叉树构建函数接口构建二叉树定义二叉树结构指针接受构建的二叉树接着调用最后的中序遍历的函数接口实现最后的中序遍历打印。 2.2.代码实现
#include stdio.h
#includestdlib.h//创建二叉树结构
typedef struct TreeNode
{char str;struct TreeNode* left;struct TreeNode* right;}TreeNode;//根据题目遍历的顺序要求来构建二叉树
TreeNode* TreeGreate(char* a,int* pi)
{//此处再数组里存储数据的下标要用指针接收否则再递归的时候会叠加越界if(a[*pi]#||a[*pi]\0){a[(*pi)];return NULL;}TreeNode* root (TreeNode*)malloc(sizeof(TreeNode));root-stra[(*pi)];root-leftTreeGreate(a,pi);root-rightTreeGreate(a,pi);return root;
}//中序遍历
void InOrder(TreeNode* root)
{if(rootNULL)return;InOrder(root-left);printf(%c ,root-str);InOrder(root-right);
}//主函数
int main() {char a[100];//定义字符数组int pi0;scanf(%s,a); TreeNode* root TreeGreate(a,pi);//定义二叉树结构指针来接受构建的二叉树InOrder(root);//然后中序遍历return 0;
}2.3.提交通过展示