N叉树的前序遍历

作者: _阿南_ | 来源:发表于2020-02-26 16:03 被阅读0次

    题目:

    给定一个 N 叉树,返回其节点值的*前序遍历*。
    
    例如,给定一个 `3叉树` :
    
    题目
    返回其前序遍历: `[1,3,5,6,2,4]`。
    
    

    题目的理解:

    一开始感觉N叉树的children怎么设计好呢,然后想到直接设计成一个数组,那么就可以解决了。

    python实现

    from typing import List
    
    # Definition for a Node.
    class Node:
        def __init__(self, val=None, children=None):
            self.val = val
            self.children = children
    
    class Solution:
        def preorder(self, root: Node) -> List[int]:
            nums = list()
            
            self.traverse(nums, root)
            
            return nums
            
    
    
        def traverse(self, nums: List[int], node: Node):
            if node is None:
                return 
            
            nums.append(node.val)
            
            for child_node in node.children:
                self.traverse(nums, child_node)
    

    提交

    成功

    还是使用了递归方法,这个方法比较简单。

    // END 越在家待,越不想工作。

    相关文章

      网友评论

        本文标题:N叉树的前序遍历

        本文链接:https://www.haomeiwen.com/subject/chdbchtx.html