虾皮笔试10月26日算法卷

算法卷的第二题什么鬼,本来很简单的问题用ACM模式变得就很搞。#shopee##shopee笔试#

题目:求二叉树的层序遍历,ACM模式
输入是一个序列来表示二叉树,例如[1,2,3,#,#,7,8]
输出是一个序列,例如[[1],[2,3],[7,8]](注意这里没有空格)

如果是拿python做,采用建树然后正常层序遍历得到list然后输出会有问题,因为list数字之间会有空格(此处真的想骂娘)
后面曲线救国直接搞字符串,去掉所有#,然后再拼成一个新的字符串,真的乐
全部评论
用二叉树性质2i+1,2i+2建树就行。
1 回复 分享
发布于 2023-10-26 22:24 湖南
用java substring贼简单
1 回复 分享
发布于 2023-10-26 21:10 陕西
我对比着看了无数遍我的输出和答案的区别 然后发现是空格问题 太离谱了
1 回复 分享
发布于 2023-10-26 21:09 江苏
我就是用python做做的崩溃没AC,怎么感觉他这几次笔试都考了二叉树程序遍历呀?大无语😭😭
点赞 回复 分享
发布于 2023-11-23 22:25 湖南
约你面试了吗佬
点赞 回复 分享
发布于 2023-11-12 13:48 陕西

相关推荐

01-09 16:20
门头沟学院 C++
作为一名开发新人,入职第一天的主要任务是快速熟悉项目。第一步:明确职责与范围首先,主动询问项目经理,了解自己将主要负责的业务模块。公司业务可能较多,明确范围能让你集中精力熟悉相关代码和逻辑,避免分散注意力。第二步:查阅项目文档优先查看公司是否有项目结构文档或新人landing文档。这类文档通常系统介绍了技术架构、模块划分和规范,能帮你快速建立全局认知,事半功倍。第三步:分析项目基础配置从核心配置文件入手:●查看 pom.xml,了解项目依赖、技术栈版本和模块关系。●阅读 application 系列配置文件,掌握环境配置、数据源、关键参数。●查看主启动类及核心配置类,关注其开启的功能注解(如事务管理、缓存等)。第四步:理解代码结构与规范浏览项目分层(如controller、service、dao等),注意各层的职责划分。同时查看实体对象(如DTO、VO)的命名与转换逻辑,理解数据流转规范。第五步:结合业务与数据熟悉流程不要一直埋头看代码。先获取测试环境地址,实际操作负责的功能模块,并通过浏览器开发者工具查看接口调用。然后对照接口代码与数据库表结构,理清核心业务流程和数据模型。几个典型接口跟下来,业务逻辑就清晰了。最后:查漏补缺,提前学习在熟悉代码过程中,记录下项目中用到但你还不熟悉的技术(如特定中间件、框架高级特性等)。利用空余时间尽快学习,避免后续任务被压力。
入职第一天
点赞 评论 收藏
分享
评论
4
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务