首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
牛客232444207号
暨南大学 电子信息类
发布于陕西
关注
已关注
取消关注
@DavidSperk:
二叉树的广度优先遍历
标题:二叉树的广度优先遍历 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限 有一棵二叉树,每个节点由一个大写字母标识(最多26个节点)。现有两组字母,分别表示后序遍历(左孩子->右孩子->父节点)和中序遍历(左孩子->父节点->右孩子)的结果,请输出层次遍历的结果。 import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;public class Main { // 构造树的节点 static class TreeNode { char data; TreeNode left; TreeNode right; } //初始化先序遍历数组 static char pre[] = new char[50]; //初始化中序遍历数组 static char in[] = new char[50]; //初始化后序遍历数组 static char post[] = new char[50]; // 本题中是根据中序和后序的遍历来构造 static TreeNode creat(int postL, int postR, int inL, int inR) { // 后序遍历中找到根节点 if (postL > postR) { return null; } TreeNode root = new TreeNode(); root.data = post[postR]; int k = 0; for (int j = inL; j <=inR; j++) { if (in[j] == post[postR]) { k = j; break; } } //中序遍历记录下标记录根节点root在中序遍历中的下标 int cha = k - inL; // 遍历左子树 root.left = creat(postL, postL + cha - 1, inL, k - 1); // 遍历右子树 root.right = creat(postL + cha, postR - 1, k + 1, inR); return root; } // 层次遍历用BFS方法 static void bfs(TreeNode root) { Queue<TreeNode> queue = new LinkedList<TreeNode>(); queue.add(root); while (!queue.isEmpty()) { TreeNode v = queue.remove(); System.out.print(v.data); if (v.left != null) { queue.add(v.left); } if (v.right != null) { queue.add(v.right); } } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); String input = sc.nextLine(); String s1 = input.split(" ")[0]; String s2 = input.split(" ")[1]; // 获取输入结点个数 int number = s1.length(); for (int i = 0; i < number; i++) { post[i] = s1.charAt(i); in[i] = s2.charAt(i); } // 建树 TreeNode root = creat(0, number - 1, 0, number - 1); // 层次遍历输出结点data bfs(root); }} class TreeNode: def __init__(self,value): self.left = None self.right = None self.value = value def TreeFunc(pStr,qStr): if len(pStr) == 0: return None t = TreeNode(pStr[-1]) i = qStr.index(pStr[-1]) qRight = qStr[i+1:] qLeft = qStr[:i] pLeft = pStr[:len(qLeft)] pRight = pStr[len(pLeft):-1] t.right = TreeFunc(pRight, qRight) t.left = TreeFunc(pLeft, qLeft) return tif __name__ == '__main__': inputStr = input().strip() inputList = inputStr.split() pStr = inputList[0] qStr = inputList[1] t = TreeFunc(pStr, qStr) temStr = '' temList = [] temList.append(t) while (len(temList)>0): t = temList[0] temList.pop(0) if (t is not None): temStr += t.value temList.append(t.left) temList.append(t.right) print(temStr)
点赞 0
评论 0
全部评论
推荐
最新
楼层
滴滴
校招火热招聘中
官网直投
相关推荐
很赞的芝士在敲代码
05-09 09:52
东南大学 计算机类
已寄出三方,成功上岸招银
从2月份到现在,紧张+焦虑的几个月。从互联网、国企再到银行,面试十几家,收到了几个offer,终于有自己满意的啦!上岸招银,三方已经寄出,终于可以告一段落啦~期待早点到招银报道!
点赞
评论
收藏
转发
犬粟
05-13 20:49
已编辑
华中科技大学 计算机类
5.12 腾讯后台一面
部门:光子逆天20分钟速通,不开摄像头他好像看不到之前的面试记录,不知道我前一天才被光子KPI挂了。。自我介绍说项目ajax是什么http方法发表格用什么方法为什么出于安全性不用GETtcp粘包怎么解决raft日志同步是什么手撕:第K大的数结果第二天变复试状态了…
腾讯一面1140人在聊
软件开发2024笔面经
点赞
评论
收藏
转发
Noe1017
04-17 13:35
美团_大数据开发
不用面试也能拿Offer?
前程无忧太幽默了
点赞
评论
收藏
转发
你爱她吗
05-07 23:50
已编辑
门头沟学院 军事后勤学
哎,世界已经卷到 连hr都不相信了
点赞
评论
收藏
转发
在吃瓜的青提很用心
05-13 11:05
博世_视觉算法工程师(准入职员工)
博世暑期实习内推
大家好!全球100强企业——博世中国暑期实习开始啦!25届也可以用这个内推码,大家可以收藏一下。注意岗位特点:专业不限岗位注意多介绍自己个人经验合综合素质,多围绕实习和岗位工作内容来展开,岗位写的xx专业优先建议把项目和大赛经验发在重点介绍 。关键词:外企 大厂 WLB你是否渴望工作生活平衡的工作,你是否想加入跨国公司与全球各地的伙伴一起协作,你是否想加入一家百年企业感受永不上市的文化。这里就是博世!欢迎你的加入!作为校招加入博世的应届生,当时最打动我的还是招聘者的一句话:确实,入职以来,听到最多的是“合规”,创始人罗伯特·博世的“宁失利,勿失信”令我印象深刻。作为全球汽车供应商的龙头老大...
投递博世等公司7个岗位 >
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
全站热榜
1
...
携程oc了
2.3W
2
...
比亚迪机械面经&薪资爆料&面试题目&解答思路
1.2W
3
...
美团-Java后端-平台技术部-一面凉经(复活赛)
1.1W
4
...
【话术建议】求职者和企业的互骗话术?
6921
5
...
瑞幸java校招二面(史诗级80min)
6355
6
...
快手二面g
4792
7
...
滴滴秋储后端(秒挂)
4536
8
...
【进面核心】如何紧盯个人简历与企业需求的契合度
4465
9
...
字节抖音电商后端日常实习一二三面已oc
4169
10
...
腾讯 后台开发 一面
3824
正在热议
#
牛客帮帮团来啦!有问必答
#
709769次浏览
11526人参与
#
许愿池
#
77165次浏览
1541人参与
#
通信硬件人笔面经互助
#
107690次浏览
2177人参与
#
你的秋招进展怎么样了
#
500732次浏览
13422人参与
#
找工作时遇到的神仙HR
#
177613次浏览
1744人参与
#
如何写一份好简历
#
259224次浏览
3918人参与
#
铜五铁六真的存在吗?
#
27334次浏览
293人参与
#
找工作,你会甘心进小厂还是猛冲大厂
#
35030次浏览
352人参与
#
产品实习,你更倾向大公司or小公司
#
35936次浏览
548人参与
#
非技术岗是怎么找实习的
#
73839次浏览
1385人参与
#
市场营销面经
#
4522次浏览
125人参与
#
互联网公司评价
#
79499次浏览
1087人参与
#
通信硬件薪资爆料
#
196240次浏览
1758人参与
#
你的秋招进行到哪一步了
#
352874次浏览
6269人参与
#
硬件兄弟们 甩出你的华为奖状
#
27507次浏览
180人参与
#
无实习如何秋招上岸
#
224609次浏览
3517人参与
#
投了多少份简历才上岸
#
56633次浏览
947人参与
#
面试中的破防瞬间
#
82541次浏览
1015人参与
#
通信/硬件的薪资开多少,才值得去?
#
10729次浏览
140人参与
#
产品人求职现状
#
50572次浏览
745人参与
牛客网
牛客企业服务