二叉树遍历

已知排序二叉树的层次遍历结果为50 32 85 11 46
问它的先序遍历结果是什么。代码实现#C++工程师#
全部评论
先建树可以吗,但是我的程序会崩溃,求帮忙找下错。。尴尬 struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } }; void createTree(TreeNode* root, int data){ if (root == NULL){ root = new TreeNode(data); } else if (data < root->val) createTree(root->left, data); else if (data > root->val) createTree(root->right, data); else return; } void pre(TreeNode* root){ if (root){ cout << root->val << " "; pre(root->left); pre(root->right); } } int main(){ int a[100]; int n; TreeNode* root; while (cin >> n){ root = NULL; for (int i = 0; i < n; i++){ cin >> a[i]; createTree(root, a[i]); } pre(root); }     return 0; }
点赞 回复 分享
发布于 2017-02-20 12:29
首先说一下,题目是自己想的,因为马上要参加PAT,最近刷树一类的题目,对于马上考试的树一类的试题的一个猜想。 题目的本意是:提供一棵二叉树的中序遍历序列(构造二叉树时可以提供左右子树的信息)和层次遍历序列(构造二叉树时提供根节点信息),如何能将二叉树构造出来?最后的表达方法为对构造的二叉树进行先序遍历。 与以往的提供pro_travel和in_travel或者说post_travel和in_travel类似解决。
点赞 回复 分享
发布于 2017-02-20 12:37
50 32 11 46 85
点赞 回复 分享
发布于 08-11 10:10 陕西

相关推荐

点赞 评论 收藏
分享
10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务