博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php实现二叉树遍历
阅读量:6796 次
发布时间:2019-06-26

本文共 1307 字,大约阅读时间需要 4 分钟。

php实现二叉树遍历

一、总结

关注输入输出

 

二、php实现二叉树遍历

题目描述

编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。

输入描述:

输入包括1行字符串,长度不超过100。

输出描述:

可能有多组测试数据,对于每组数据,输出将输入字符串建立二叉树后中序遍历的序列,每个字符后面都有一个空格。每个输出结果占一行。
示例1

输入

abc##de#g##f###

输出

c b e g d f a

 

三、代码

代码一:java,教科书般

1 #include 
2 #include
3 using namespace std; 4 string str; 5 int i; 6 struct TreeNode 7 { 8     char val; 9     struct TreeNode *lchild, *rchild;10     TreeNode(char c) :val(c), lchild(NULL), rchild(NULL) {}11 };12 TreeNode* createTree() {13     char c = str[i++];14     if (c == '#') return NULL;15     TreeNode *root = new TreeNode(c);16     root->lchild = createTree();17     root->rchild = createTree();18     return root;19 }20 void inOrderTraversal(TreeNode* root) {21     if (!root) return;22     inOrderTraversal(root->lchild);23     cout << root->val << " ";24     inOrderTraversal(root->rchild);25 }26 int main() {27     while (cin >> str) {28         i = 0;29         TreeNode *root = createTree();30         inOrderTraversal(root);31         cout << endl;32     }33     return 0;34 }

 

代码二:php

百度一下php中的var

1 
val=$val; 8 } 9 }10 $tree=new treeNode(3);11 echo $tree->val;12 ?>

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/9082958.html

你可能感兴趣的文章
为你的项目依赖加星
查看>>
投资千亿成立达摩院,揭秘阿里在人工智能领域的探索
查看>>
图片加载框架之UIL
查看>>
CSS3-选择器-结构化伪类
查看>>
Heard First Python学习心得 (7-10章)
查看>>
Spring Cloud(四) Spring Cloud Security集成CAS (单点登录)对微服务认证
查看>>
用JavaScript来学习树「译」
查看>>
Redis在项目中的应用实例
查看>>
Mootools.js 是如何实现类,以及类的相关属性和作用
查看>>
搜索引擎是怎样的存在?(三 信息处理模块)
查看>>
从零开始搭建一个vue项目 -- vue-cli/cooking-cli(二)
查看>>
Node.js 开发环境搭建
查看>>
一致性Hash和环形Hash
查看>>
Discuz默认JS和其他JS冲突的解决方案
查看>>
【Electron-Vue】——全局变量的管理
查看>>
JavaScript网络摄像头和视频捕获Dynamsoft Camera SDK v5.2发布
查看>>
php上传图片到微博图床
查看>>
如何抓住重点,系统高效地学习数据结构与算法?
查看>>
如何使用CloudFormation 构建VPC(第一部分)
查看>>
SpeedyCloud研发总监李孟:不要让底层细节被上层打败
查看>>