栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

LeetCode每日一题题解:589. N 叉树的前序遍历-题解-python && C++源代码

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LeetCode每日一题题解:589. N 叉树的前序遍历-题解-python && C++源代码

589. N 叉树的前序遍历

难度简单231收藏分享切换为英文接收动态反馈

给定一个 n 叉树的根节点  root ,返回 其节点值的 前序遍历 。

n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。


示例 1:

输入:root = [1,null,3,2,4,null,5,6]
输出:[1,3,5,6,2,4]

示例 2:

输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]
输出:[1,2,3,6,7,11,14,4,8,12,5,9,13,10]

提示:

节点总数在范围 [0, 104]内0 <= Node.val <= 104n 叉树的高度小于或等于 1000

题目思路:类似二叉树的前序遍历
我们从根节点开始,先访问当前节点,然后再访问当前节点的孩子节点组成的数组,不停的进行递归。

Python代码:

"""
# 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]:
        ans = []
        def dfs(Node:"Node"):#构建一个函数用来递归
            if Node is None:
                return
            ans.append(Node.val)
            for a in Node.children:
                dfs(a)
        dfs(root)
        return ans

C++代码:

"""
# 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]:
        ans = []
        def dfs(Node:"Node"):#构建一个函数用来递归
            if Node is None:
                return
            ans.append(Node.val)
            for a in Node.children:
                dfs(a)
        dfs(root)
        return ans

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/757711.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号