zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    XML的学习
    使用WEB应用时后台发生的事
    企业级应用与互联网应用的区别
    学习JAVA EE的目标
    关于AngularJS的学习报告
    在线进销存软件
    Gridview 实现列表全选、自动选择下级item的功能
    python 计算roc程序报错ValueError: bad input shape (5313, 2)
    pandas保存为hdf格式更高效
    Linux 安装
  • 原文地址:https://www.cnblogs.com/ChevisZhang/p/12456629.html
Copyright © 2011-2022 走看看