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

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

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 threeOrders(self , root: TreeNode) -> List[List[int]]:
        # write code here
        def preOrder(root):
            arr = [root.val]
            if root.left:
                arr.extend(preOrder(root.left))
            if root.right:
                arr.extend(preOrder(root.right))
            return arr

        def medOrder(root):
            arr = []
            if root.left:
                arr.extend(medOrder(root.left))
            arr.append(root.val)
            if root.right:
                arr.extend(medOrder(root.right))
            return arr

        def postOrder(root):
            arr = []
            if root.left:
                arr.extend(postOrder(root.left))
            if root.right:
                arr.extend(postOrder(root.right))
            arr.append(root.val)
            return arr

        if root is None:
            return [[],[],[]]
        else:
            return [preOrder(root),medOrder(root),postOrder(root)]



全部评论

相关推荐

01-07 15:50
四川大学 Java
看日出看日落:好好背八股,做算法。我身边跟你bg差不多的基本都大厂暑期
点赞 评论 收藏
分享
2024-12-29 15:37
已编辑
西华大学 图像识别
程序员牛肉:去不了,大厂算法卡学历吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务