二叉树遍历

已知排序二叉树的层次遍历结果为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 陕西

相关推荐

点赞 评论 收藏
分享
SinyWu:七院电话面的时候问我有没有女朋友,一听异地说你赶紧分。我:???
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务