每日一题 【每日一题】实现二叉树的层序遍历-Python-20211125

Jack · 2021年11月25日 · 最后由 Jack 回复于 2021年11月26日 · 63 次阅读
本帖已被设为精华帖!

给出一个二叉树,返回其节点值,自底向上的层次遍历

Jack 将本帖设为了精华贴 11月25日 21:33

参考代码:

class TreeNode:
    def __init__(self, val=None, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right


class Solution:
    def levelOrder(self, root):
        self.result = []
        if not root:
            return self.result
        q = [root]
        while q:
            new_q = []
            self.result.append([n.val for n in q])
            for node in q:
                if node.left:
                    new_q.append(node.left)
                if node.right:
                    new_q.append(node.right)
            q = new_q
        return list(reversed(self.result))

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册