• 102. 二叉树的层次遍历(leetcode)


    给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。

    本题像抄了个作业,索然无味,改天再多刷几次,代码借鉴本题官方解答。

    思考:

    代码:

    class Solution:
        def levelOrder(self, root: TreeNode) -> List[List[int]]:
            res = []

            def helper(node,level):
                if not node:
                    return
                if level == len(res):
                    res.append([])
                res[level].append(node.val)
                if node.left:
                    helper(node.left,level+1)
                if node.right:
                    helper(node.right,level+1)
            helper(root,0)
            return res

    DFS:

      先序遍历:

        res.append(node.val)

        helper(node.left)

        helper(node.right)

      中序遍历:

        helper(node.left)

        res.append(node.val)

        helper(node.right)

      后序遍历:

        helper(node.left)

        helper(node.right)

        res.append(node.val)

      

     BFS:

      在递归中需要借助变量level

  • 相关阅读:
    Java中swing常用控件背景设置透明的方法
    SpringMVC工作原理
    关于spring框架工作原理
    Java-JFrame窗体美化方式
    Java swing GUI窗口美化
    Java-Swing是什么?
    SSM+Redis+Layui前端框架实现验证码的发送
    SSM+Redis+Layui实现注册功能
    SSM+Layui实现模拟登录功能
    SSM+layui分页(了解98%)
  • 原文地址:https://www.cnblogs.com/ChevisZhang/p/12456629.html
Copyright © 2020-2023  润新知