LeetCode 589、N 叉树的前序遍历

news/2024/7/1 18:09:56

589、N 叉树的前序遍历

1)题目描述

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

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

示例 1:

img

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

示例 2:

img

输入: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

2)分析

递归,N 叉树的前序遍历与二叉树的前序遍历的思路和方法基本一致,每次递归时,先访问根节点,然后依次递归访问每个孩子节点。

3)C++代码

/*
// Definition for a Node.
class Node {
public:
    int val;
    vector<Node*> children;

    Node() {}

    Node(int _val) {
        val = _val;
    }

    Node(int _val, vector<Node*> _children) {
        val = _val;
        children = _children;
    }
};
*/

class Solution {
public:
    void helper(const Node* root, vector<int> & res) {
        if (root == nullptr) {
            return;
        }
        res.emplace_back(root->val);
        for (auto & ch : root->children) {
            helper(ch, res);
        }
    }

    vector<int> preorder(Node* root) {
        vector<int> res;
        helper(root, res);
        return res;
    }
};


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

相关文章

android初体验——HelloWord

一&#xff0e;新建项目&#xff1a;打开 eclipse &#xff0c;选择File – New – Android Application Project输入项目名称&#xff0c;程序名称&#xff0c;包名。 包名不能重复,它是项目的唯一标示&#xff0c;我理解为GUID。3. 创建客户端图标&#xff0c;创建Activity,选…

计算机应用基础第5次作业,华中大本科段-计算机应用基础第5次作业

请大家及时完成并提交第五次普通作业&#xff1a;注意&#xff1a;本次作业是普通作业。请大家认真学习后及时完成并提交。交作业时&#xff0c;给出题目序号和答案即可。不需要步骤&#xff0c;也不要将原题目放上去&#xff0c;不要提交附件。若以附件形式提交的作业会被驳回…

电信联通五方面再“联手” 合并只是时间问题

今日上午&#xff0c;中国电信与中国联通启动“客户服务提质计划”合作。这也是继之前4G网络建设共享和终端层面展开合作之后&#xff0c;两家运营商又一次“联手”。 根据协议&#xff0c;双方将在以下五个方面开展战略合作&#xff1a;一是深入推进网络共建共享&#xff0c;加…

java 获取pinblock_PinBlock 算法 使用ANSI x9.8计算 | 学步园

PIN格式ANSI X9.8 Format(带主帐号信息)PIN BLOCK 格式等于 PIN 按位异或主帐号:PIN 格式&#xff1a;BYTE 1 PIN的长度BYTE 2 – BYTE 3/4/5/6/7 4--12个PIN(每个PIN占4个BIT)BYTE 4/5/6/7/8 – BYTE 8 FILLER “F” (每个“F“占4个BIT)主帐号格式&#xff1a;BYTE 1 — …

LeetCode 496、下一个更大元素 I

496、下一个更大元素 I 1&#xff09;题目描述 nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。 给你两个 没有重复元素 的数组 nums1 和 nums2 &#xff0c;下标从 0 开始计数&#xff0c;其中nums1 是 nums2 的子集。 对于…

java自然语言理解分频_如何评价华为 2019 年 11 月 25 日发布的 Sound X 智能音箱?...

HiFi智能&#xff0c;华为Sound X 回归音箱本质&#xff0c;提供真正的环绕立体声效果。同时&#xff0c;并没有牺牲智能交互体验。接下来&#xff0c;带大家去了解这款新品的更多信息&#xff01;声智科技基于SoundAI Cimon声学软件和SoundAI Babel开放大脑&#xff0c;为华为…

MySQL5.6与5.7的区别——及MySQL5.6版本安装

一、MySQL5.7对比5.6的优势1.安全性2.灵活性4.易用性5.可用性6.性能优势7.默认参数的改变8.安装不同二、MySQL 5.6 的安装步骤1.查看并解压源码包2.安装环境3.CMAKE编译并安装4.配置my.cnf和启动脚本5.添加环境变量6.创建程序账号&#xff0c;并授权7.初始化MySQL配置8.开启数据…

51nod 1416:两点 深搜

1416 两点题目来源&#xff1a; CodeForces基准时间限制&#xff1a;1 秒 空间限制&#xff1a;131072 KB 分值: 20 难度&#xff1a;3级算法题收藏关注福克斯在玩一款手机解迷游戏&#xff0c;这个游戏叫做”两点”。基础级别的时候是在一个nm单元上玩的。像这样&#xff1a; …