【刷题】589. N 叉树的前序遍历

news/2025/2/26 13:40:20

题目地址

  • 点击跳转

题目描述

给定一个 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 <= 104
n 叉树的高度小于或等于 1000

进阶:递归法很简单,你可以使用迭代法完成此题吗?

解题思路

直接递归吧。

代码

  • python3
"""
# 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]:
        return self.get_vals(root)

    def get_vals(self, root: 'Node') -> List[int]:
        if not root:
            return []

        if not root.children:
            return [root.val]
        
        l = [root.val]
        for c in root.children:
            l += self.get_vals(c)
        
        return l

http://www.niftyadmin.cn/n/4411674.html

相关文章

【刷题】NC337 IP地址转化

题目地址 点击跳转 题目描述 IP地址是一个用 ‘.’ 隔开的四段数字&#xff0c;每段的大小是 0 ≤ n ≤ 255 。请你把 IP 地址转换成一个整数。(IPv4) 例如&#xff0c; 114.55.207.244 的二进制表示是 01110010 00110111 11001111 11110100 &#xff0c;其十进制表示是 759…

Struts生成Word下载

比较巧的是&#xff0c;刚做完一个下载Excel文件的功能&#xff0c;又有一个新的问题&#xff0c;就是需要将一份文件导出到word中&#xff0c;刚开始我找到的方法&#xff0c;无非是将网页中内容用wrod打开&#xff0c;但是网页的版式也复制了进去&#xff0c;显的很不正规。相…

Oracle 9i Enterprise Manager Console 无法启动的解决方法

前几天心血来潮重新拾起它。于是隔壁同学那借来三张oracle 9i的盘。安装过程一切顺利。接着兴冲冲打开Enterprise Manager Console&#xff0c;发现窗口在屏幕上闪了下就没了&#xff0c;启动不起来&#xff01;我试着又去启动SQLPlus Worksheet发现情况也是一样的。~~~超级郁闷…

oracle trigger代码

sql 代码--[6]// Oracle Trigger --实例1------------------------ --创建触发器&#xff0c;当用户对test表执行DML语句时&#xff0c;将相关信息记录到日志表 --创建测试表 CREATE TABLE test ( t_id NUMBER(4), t_name VARCHAR2(20), t_age NUMBER(2), t_sex CHAR ); --创建…

在java程序中执行dos命令或运行其他程序

在java程序中执行dos命令或运行其他程序 程序如下&#xff1a; package com.jany.runother; import java.io.BufferedReader;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.PrintWriter; public class RunOther{ /** * param …

NetBeans 编辑 C/C++ Cygwin

安装 Cygwin 配合 NetBeans 编辑 C/C在 NetBeans 中&#xff0c;我们要编辑 C/C 除了要安装 Plugin 外&#xff0c;还要安装 C/C Compiler。 下方的例子是使用 Cygwin 和 NetBeans 来达成我们的需求&#xff1a; 首先&#xff0c;当然是安装 Cygwin ( Windows 平台上的一种 U…

【编程】多道批处理调度-华为笔试

题目描述&#xff1a; 某多处理器多道批处理系统一次允许将所有作业调入内存&#xff0c;且能并行执行&#xff0c;其并行数等于处理机个数。该系统采用SJF的调度方式&#xff08;最短作业优先&#xff0c;系统在调度时&#xff0c;总是优先调度执行处理时间最短的作业&#xf…