题解 | #实现二叉树先序,中序和后序遍历#

实现二叉树先序,中序和后序遍历

https://www.nowcoder.com/practice/a9fec6c46a684ad5a3abd4e365a9d362

# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param root TreeNode类 the root of binary tree
# @return int整型二维数组
#
class Solution:
    def __init__(self):
        self.ls_pre=[]
        self.ls_in=[]
        self.ls_post=[]

    def pre_order(self,node):
        if node:
            self.ls_pre.append(node.val)
            self.pre_order(node.left)
            self.pre_order(node.right)
    
    def in_order(self,node):
        if node:
            self.in_order(node.left)
            self.ls_in.append(node.val)
            self.in_order(node.right)
    
    def post_order(self,node):
        if node:    
            self.post_order(node.left)
            self.post_order(node.right)
            self.ls_post.append(node.val)



    def threeOrders(self , root: TreeNode) -> List[List[int]]:
        res=[]
        self.pre_order(root)
        res.append(self.ls_pre)

        self.in_order(root)
        res.append(self.ls_in)

        self.post_order(root)
        res.append(self.ls_post)

        return res

全部评论

相关推荐

正在干活结果人事过来找我,说我被裁了,还说要裁一半,一些没转正的先踢出去… 真是牛逼现在的公司,怪不得越做越小。上个月初提交的转正申请,我老大也同意了,我真以为我转正了,结果人事跟我说我老大不知道这些,好吧那你们瞒着呗真是逆天… 又要开始找工作了,现在工作哪里这么好找,还有这么多公司喜欢这种操作,坑我们应届生真服了👿
CoderEcho:看你的主页,你好像是有点内向,不怎么说话?我之前实习也是这样的,hr和主管也是用我太内向导致的主管看不到头,工作习惯不好,不适合他们这样的原因把我实习劝退,但是公司肯定有公司的问题,因为去年没一个实习转正的,连社招生都劝退。倒也不是替公司说话,只是一些建议,公司内部裁员肯定是公司的问题,只是积极主动(或者领导眼中积极主动)的人未来一定会有更多机会,刚被劝退的时候基本上秋招已经结束,但是1月份的时候还是上岸啦,并且面试时我说出了我对积极主动的理解也是加分的一点。祝你继续加油往前走,大厂经历+985学历,结果一定不会差的啦
点赞 评论 收藏
分享
2024-12-10 17:38
门头沟学院 Node.js
想逆袭好楠:太紧凑了感觉,文字好多看的眼花,建议自我评价删了,因为自我评价都是吹嘘自己的,感觉没什么价值,然后改一下排版
点赞 评论 收藏
分享
断电再接线:1. 简历排版方面,你这内容比较少,一页放完。各模块之间建议用明显的分隔线分开,现在一眼看上去非常乱。教育经历留白太多。项目经历格式不统一。 2. 第一个项目,硬件设计太笼统,硬件架构规划是指板级电路设计还是FPGA逻辑设计?FPGA时序逻辑设计具体指的什么?实现的三个低速协议以及使用协议进行控制时序,是指什么? 3. 第二个项目,我觉得你可以和第一个项目整合一下,合并为一个项目。第二个项目说实话随便买个zynq开发板都有一直petalinux的教程,作为一个独立的项目不合适的,更像是一个小作业。 4. 第三个项目,项目内容这里,其实和环境搭建之类的东西提一嘴就好了,环境准备和编译安装工具链这种东西没多大必要写,实在要写的话可以 说 使用docker 独立sdk环境之类的。你说的这个工具我没用过,我用的比较多的是busybox和buildroot,是基于menuconfig进行配置的,如果scratch也是类似的模式的话,那我觉得这个项目也经不起细推。你可以往内核裁剪那方向靠,我说的这两个工具你也可以看看。 5. 你熟悉这些接口时序的话,你可以进一步去看一下驱动开发,然后面试的时候突出这个作为重点。第三个项目也可以将驱动开发给补充进去。因为单编内核和构建文件系统,其实很多时候是体力劳动。 6. 特长这里,独立成一个荣誉奖项的模块,把你获得的奖学金和竞赛奖项放一起。数模的话,写了国赛,美赛就不用写了。 7. 总的来说可以了,你简历上写的东西你只要都熟悉,找个实习还是没问题的。 8. 嵌入式分为硬件,底层软件和应用软件,看你的经历我建议你往底层靠,多去熟悉常用的通信接口,去看内核和驱动,网络编程这块也可以去了解一下。然后去**刷刷hot100
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务