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

例如,给定一个 3叉树 :

返回其前序遍历: [1,3,5,6,2,4]

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

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

Node() {}

Node(int _val, vector<Node*> _children) {
        val = _val;
        children = _children;
    }
};
*/
class Solution {
public:
    vector<int> preorder(Node* root) {
        vector<int> res;
        helper(root, res);
        return res;
    }
    void helper(Node* node, vector<int>& res) {
        if (!node) return;
        res.push_back(node->val);
        for (Node* child : node->children) {
            helper(child, res);
        }
    }
};

class Solution {
public:
    vector<int> preorder(Node* root) {
        if (!root) return {};
        vector<int> res;
        stack<Node*> st{{root}};
        while (!st.empty()) {
            Node* t = st.top(); st.pop();
            res.push_back(t->val);
            for (int i = (int)t->children.size() - 1; i >= 0; --i) {
                st.push(t->children[i]);
            }
        }
        return res;
    }
};

589. N叉树的前序遍历相关推荐

  1. LeetCode Algorithm 589. N 叉树的前序遍历

    589. N 叉树的前序遍历 Ideas 二叉树的前序遍历模板,拿过来稍微一改就完事了. def preorderTraversalLoop(node):if not node:returnstack ...

  2. leetcode 589. N 叉树的前序遍历,590. N 叉树的后序遍历(Java版)

    589. N 叉树的前序遍历 https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal/ 题解 import java.util.A ...

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

    589. N 叉树的前序遍历 难度简单231收藏分享切换为英文接收动态反馈 给定一个 n 叉树的根节点  root ,返回 其节点值的 前序遍历 . n 叉树 在输入中按层序遍历进行序列化表示,每组子 ...

  4. leetcode:589. N叉树的前序遍历

    题目来源 589. N叉树的前序遍历 题目描述 class Node {public:int val;vector<Node*> children;Node() {}Node(int _v ...

  5. [力扣cpp实现] 589. N叉树的前序遍历

    589. N叉树的前序遍历 1. 题目描述 2. 代码如下 1.c++ leetcode 589. N叉树的前序遍历 1. 题目描述 给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 ...

  6. 力扣589.N叉树的前序遍历

    589.N叉树的前序遍历 思路: 本题思路和二叉树前序遍历大致一样,先访问 根节点 再依次访问 每个孩子节点,采取递归方法,找好递归的结束条件即可 代码实现 /* // Definition for ...

  7. leetcode —— 589. N叉树的前序遍历 (使用到遍历多叉树的方法)

    给定一个 N 叉树,返回其节点值的前序遍历. 例如,给定一个 3叉树 : 返回其前序遍历: [1,3,5,6,2,4]. ---------- 解法一:通过递归的方法进行求解,时间复杂度为O(n)O( ...

  8. 589. N 叉树的前序遍历(javascript)589. N-ary Tree Preorder Traversal

    给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 . n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例). Given the root of ...

  9. (C++/python)LeetCode 589. N叉树的前序遍历

    题目描述: 给定一个 N 叉树,返回其节点值的前序遍历. 例如,给定一个 3叉树 : 返回其前序遍历: [1,3,5,6,2,4]. 思路: 递归和迭代 二叉树的前序遍历是,先遍历根节点,再遍历左节点 ...

  10. LeetCode 589. N叉树的前序遍历

    目录结构 1.题目 2.题解 2.1递归 2.2迭代 1.题目 给定一个 N 叉树,返回其节点值的前序遍历. 例如,给定一个 3叉树 : 返回其前序遍历: [1,3,5,6,2,4]. 说明: 递归法 ...

最新文章

  1. jquery validate 插件:(2)简单示例
  2. 2018-10-04-Python全栈开发-day61-DJANGO-MODELS操作补充
  3. linux各种查看端口号
  4. C++---两数之和
  5. 单链表遍历_单链表及其遍历实现的基本操作
  6. 视频大压缩的具体操作方法
  7. 【xxl-job】轻松实现分布式定时任务demo实例
  8. c++ 函数当参数传参,类函数当参数传参,匿名函数当参数传参,function<void()>
  9. 360浏览器清除缓存_放飞浏览器的反应速度
  10. uploadify php使用,如何在ThinkPHP中使用Uploadify对图片进行上传
  11. 计算机基础 键盘认识,电脑入门(八)、认识键盘及操作
  12. 如何写H5/web前端工程简历中的项目经验
  13. SPSS 性别卡方分析
  14. FLV格式的视频歌曲地址600首,复制地址可插入外链播放器专用
  15. Android中的长度单位详解(dp、sp、px、in、pt、mm)
  16. 新建Flutter项目无法导入FlutterActivity
  17. 华为鸿蒙harmonyos-面向全场,华为鸿蒙 OS 下月发布?别做梦了……
  18. Proftpd配置文件
  19. 计算机力学专业排名,专业+排行榜
  20. 计算机工程专业院校排名,UIUC计算机工程专业大学排名全新信息解密总汇

热门文章

  1. 飘刃 0.1.1 发布,速度碾压 Vue-CLI 的轻量级 Vue 项目构建工具
  2. hdu 4609 3-idiots——FFT
  3. bzoj千题计划176:bzoj1199: [HNOI2005]汤姆的游戏
  4. 【读书笔记】--SQL基础概念复习
  5. AnsiString用法(转)
  6. NO.109 禅道“红火”新年小礼,祝大家2014红红火火~~
  7. HOOK NtCreateSection
  8. 电信商务领航1-1端口映射即虚拟服务器
  9. 程序员的寂寞,你们不懂
  10. node http创建正向代理_Node.JS实战20:用execFile执行外部程序