首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
08-12 15:57
广西师范大学 大数据开发工程师
阳光电源挺火热的
听着网上对阳光电源的骂声一大片,但实际上面试都爆满呢。。。
点赞
评论
收藏
分享
08-11 17:07
浙江海洋大学 Java
英伟达挂
也是吃上甜品了,英伟达的闭门羹
投递英伟达等公司10个岗位
点赞
评论
收藏
分享
06-24 17:38
已编辑
哈尔滨工业大学 产品经理
26硕找实习找了三个月,至今0offer
我愿称为实习悖论➡️大公司实习经历不够➡️小公司说我稳定性差(实习时长我只能3个月,还要回尔滨秋招)求大佬帮看看简历🙏求推荐的岗位🙏工资一点要求都没有,自费实习我都愿意全国可飞,租房子实习
vicky_023:
先说能干六个月进去了再润呗 太老实啦
0offer是寒冬太冷还...
点赞
评论
收藏
分享
07-30 20:47
昆明卫生职业学院 医疗器械生产/质量管理
请内推下,谢谢各位
点赞
评论
收藏
分享
昨天 10:57
郑州大学 Java
实习生留用答辩,评委都看重什么?
你做的什么都是leader和mentor安排的,做什么工作也不是你自己能选的,所以你能有什么产出也不是自己能选的吧,那么实习留用答辩,评委(一般都是总监和组长组成)一般都是看什么来决定是否留用呢?
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
小红书java一面
7555
2
...
该不该给领导买东西啊...
4440
3
...
百度提前批一面凉经!继续复习!
3610
4
...
美团今天的ai coding笔试允许用ai吗
3503
5
...
大疆结构秋招一面
3387
6
...
美团模型平台后端开发面经
3203
7
...
影石嵌入式面经
2960
8
...
小红书-引擎架构- java实习-一&二面凉经
2960
9
...
美团第二次笔试 算法题直接白卷投降
2891
10
...
大家离职都怎么开口的啊?
2828
创作者周榜
更多
正在热议
更多
#
你上一次给父母打电话是什么时候
#
14922次浏览
133人参与
#
如果工作一直消耗情绪还要继续做吗
#
6852次浏览
53人参与
#
秋招笔面试记录
#
205079次浏览
3497人参与
#
给26届的秋招建议
#
40906次浏览
1032人参与
#
在职场上,你最讨厌什么样的同事
#
28393次浏览
208人参与
#
我的秋招“寄”录
#
47379次浏览
615人参与
#
实习的内耗时刻
#
61496次浏览
652人参与
#
秋招投递记录
#
28743次浏览
317人参与
#
发工资后,你做的第一件事是什么
#
72808次浏览
252人参与
#
我的AI电子员工
#
13586次浏览
109人参与
#
如果校招重来我最想改变的是
#
280244次浏览
2909人参与
#
你最近一次加班是什么时候?
#
80385次浏览
433人参与
#
秋招,不懂就问
#
12883次浏览
135人参与
#
校招第一份工作你干了多久?
#
99532次浏览
439人参与
#
安克创新求职进展汇总
#
40326次浏览
448人参与
#
毕业季,你想好怎么跟生活对线了吗?
#
237120次浏览
3789人参与
#
扒一扒那些奇葩实习经历
#
71998次浏览
937人参与
#
工作上你捅过哪些篓子?
#
22478次浏览
140人参与
#
网易求职进展汇总
#
113362次浏览
1072人参与
#
机械人面试中的常问题
#
114093次浏览
1853人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务