您当前的位置: 首页 > 

宝哥大数据

暂无认证

  • 0浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

589. N叉树的前序遍历

宝哥大数据 发布时间:2019-11-01 11:34:59 ,浏览量:0

一、589. N叉树的前序遍历 1.1、题目说明

在这里插入图片描述

1.2.1、递归
"""
# Definition for a Node.
class Node:
    def __init__(self, val, children):
        self.val = val
        self.children = children
"""
class Solution:
    def __init__(self) -> None:
        self.ret = []
    def preorder(self, root: 'Node') -> List[int]:
        self.preorderTraversal(root)
        return self.ret
    
    def preorderTraversal(self, root: 'Node') -> List[int]:
        if root:
            self.ret.append(root.val)
            
            if root.children:
                for child in root.children:
                    self.preorderTraversal(child)
                
1.2.2、迭代
class Solution:
    def __init__(self) -> None:
        self.ret = []

    # 使用栈 迭代
    def preorder(self, root: 'Node') -> List[int]:
        if not root:
            return []
        que = [root]
        while que:
            queSize = len(que)
            for i in range(queSize):
                node = que.pop()
                self.ret.append(node.val)
                if node.children:
                    for child in node.children[::-1]:
                        print(child.val)
                        que.append(child)
        return self.ret
                
                    
关注
打赏
1587549273
查看更多评论
立即登录/注册

微信扫码登录

0.0382s