【简单】590. N叉树的后序遍历

FAST-LIO 实战:从 LI-Init 标定到 YAML 配置全解析 本文详细解析了FAST-LIO算法中LI-Init标定的关键步骤与YAML配置优化技巧。从激光雷达与IMU的时空标定原理到实战参数调优,提供了一套完整的解决方案,帮助开发者解决点云畸变、建图漂移等常见问题,提升SLAM系统在动态环境中的稳定性和精度。 阅读详情

【题目】
给定一个 N 叉树,返回其节点值的后序遍历。
例如,给定一个 3叉树 :
在这里插入图片描述
返回其后序遍历: [5,6,3,2,4,1]。

说明: 递归法很简单,你可以使用迭代法完成此题吗?
来源:leetcode
链接:https://leetcode-cn.com/problems/n-ary-tree-postorder-traversal/
【递归法】
60ms 105.8 跟迭代法相比这个简直太垃圾了

/*
// 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:
    vector<int> v;
    vector<int> postorder(Node* root) {
        if(root==NULL)
            return v;
        for(auto x:root->children)
            postorder(x);
        v.push_back(root->val);
        return v;
    }
};

【知识点】
对vector数组进行查询,实现vector的find()功能,vector本身是没有find()函数的,但是我们可以用algorithm头文件下的find()函数实现对vector数组中的查询操作。
具体实现:vector<Node*>::iterator it=find(v.begin(),v.end(),lastVisit);其中lastVisit为需要在vector数组中寻找的元素。
【迭代法】
执行用时 :40 ms, 在所有 C++ 提交中击败了91.03% 的用户
内存消耗 :11.7 MB, 在所有 C++ 提交中击败了100.00%的用户

class Solution {
public:
//同层节点,从右向左一次进栈
    vector<int> v;
    stack<Node*> s;
    vector<int> postorder(Node* root) {
        if(!root)
            return v;
        Node *node=root;
        Node *lastVisit=NULL;
        s.push(root);
        while(!s.empty()){
            node=s.top();
            vector<Node*>::iterator it=find(node->children.begin(),node->children.end(),lastVisit);
            for(int i=node->children.size()-1;i>=0&&(it==node->children.end());i--)
                s.push(node->children[i]);
            if(node->children.size()==0||it!= node->children.end()){
                v.push_back(node->val);
                lastVisit=node;
                s.pop();
            }
        }
        return v;
    }
};
万字长文带你由浅入深夯实ARM汇编基础——汇编指令及寻址方式最全梳理(附示例)! 见到汇编就害怕?读完这篇,扫除汇编拦路虎!!(示例丰富,可做手册,随手查阅!) 阅读详情

相关推荐

基于DSP28335的Matlab/Simulink代码生成实验七:A/D采样

实验七:讲解如何使用DSP的ADC模块,通过代码生成技术控制DSP进行电流采样,是后续实现电机闭环控制的重要环节。通过简单的实验来熟悉代码生成的过程。最终实现复杂算法代码自动生成,进行高性能电机控制!

m0_73869369的博客 4726

【leetcode/多叉树】多叉树的后序遍历(递归)

问题描述: 给定一个 N 叉树,返回其节点值的后序遍历。 例如,给定一个3叉树: 返回其后序遍历: [5,6,3,2,4,1]. 说明:递归法很简单,你可以使用迭代法完成此题吗? 基本思路: 递归特别简单: AC代码: /* // Definition for a Node. class Node { public: int val; ...

qq_43338695的博客 1293

半导体工厂自动化实战:用secs4net实现设备与MES系统通信(附完整代码)

本文详细介绍了如何利用secs4net框架实现半导体工厂设备与MES系统的高效通信。通过解析SECS/GEM协议的核心架构、关键业务场景实现及性能优化实践,帮助开发者快速掌握工业自动化通信技术,提升生产效率和系统稳定性。

transformer2023的博客 895

LeetCode 145. 二叉树的后序遍历 Binary Tree Postorder Traversal

题目: LeetCode 145. 二叉树的后序遍历 给定一个二叉树,返回它的 后序 遍历。 示例: 输入: [1,null,2,3] 1 2 / 3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 递归算法 import java.util.ArrayList; import java.util.List; /// 145. Binary Tree Postord...

KAIKAI_ING的博客 724

Linux系统搭建OpenClaw(原Clawdbot)全流程指南 最新版

工具定位:开源个人 AI 助手,支持文件读取、命令执行、多渠道交互(Telegram / 本地终端等);系统要求:主流 Linux 发行版(Ubuntu/Debian/CentOS 等),Node.js ≥22(核心依赖);安全提示:OpenClaw 为测试版,具备高权限操作能力,建议使用非主力机,配置权限白名单,避免接触敏感数据。

AI时代老码农的第二春 6562

【局部规划模块轨迹优化算法】EM_planner最大期望滚动优化算法

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对EM_planner最大期望滚动优化算法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。

qq_35635374的博客 762

N叉树的后序遍历(3种实现)

N叉树的后序遍历(力扣:590) 给定一个 N 叉树,返回其节点值的后序遍历。

卜大爷的博客 2万+

以 DeleteRestrictions 与 inlineDelete 为核心的 Fiori Elements 表格删除机制全解

SAP Fiori elements 中删除操作的设计与实现涉及多维度考量。框架默认依据 OData 元数据判断删除能力,通过 DeleteRestrictions 注解实现行级条件控制(deletable-path)。表格支持两种删除模式:工具栏集中删除与响应式表格行内删除,但二者不建议混用。关键约束包括:行内删除仅适用于 Responsive Table,且与多选功能互斥。配置需遵循三层架构:后端能力注解、前端表格形态和运行时交互。设计上强调禁用优于隐藏的可用性原则,并需保持列表页与对象页的删除体验一致

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 153

二叉树的后续遍历(迭代法)

迭代法实现二叉树的后续遍历 1、递归版本 public static void dfs(TreeNode root){ if(root==null){ return; } if(root.left!=null) dfs(root.left); if(root.right!=null) dfs(root.right); System.out.println(root.val); } 从递归版本可以看出我们第一步需要遍历完所有的左节点 这里

qq502130297的博客 2589

AUTOSAR进阶图解==>AUTOSAR_SWS_DefaultErrorTracer

AUTOSAR Default Error Tracer (DET)是AUTOSAR架构中的核心错误追踪模块,提供统一的错误报告机制。DET能够处理开发错误、运行时错误和瞬态故障三类问题,支持模块级和实例级的配置管理。模块架构上,DET通过Det_API接口与其他模块交互,可配置转发错误至诊断事件管理器(DEM)或调试日志追踪(DLT)。其配置结构包含全局参数和模块实例参数,允许灵活控制错误报告行为。DET在AUTOSAR 4.3.0版本中从DevelopmentErrorTracer扩展而来,增强了错误处

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 910

RK平台PCIE-Ethernet扩展:Intel I210移植与性能飞升之路

本文详细介绍了Intel I210千兆以太网控制器在瑞芯微RK平台的移植与优化过程。通过硬件适配、内核配置、驱动开发及性能调优四个关键环节,实现了RK平台的网络性能提升。硬件方面,重点说明了PCIE接口的规范连接与供电检查;软件方面,系统阐述了内核配置、设备树修改和驱动编译流程。在性能优化环节,详细介绍了中断优化、缓冲区设置和TCP/IP协议栈调优策略,并采用Iperf和Netperf工具进行量化测试验证。测试结果显示,优化后的网络吞吐量提升20%以上,延迟降低40%,为工业控制、智能安防等场景提供了可靠的

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 354

多叉树的 前序、后序、层序遍历,非递归

1、描述 590给定一个 N 叉树,返回其节点值的后序遍历。 2、关键字 N叉树,后序遍历 3、思路 前序遍历,stack, 思考前序遍历是:根左右,后序遍历是:左右根 如果把后序遍历根节点和孩子节点倒过来,就是和前序遍历类型一样了。而前序遍历是:左右, 后序遍历是右左,所以在处理孩纸节点时候,用stack暂存当前节点的孩子节点,输出逆置答案时,把stack弹出就好了, 4、notes 1、前序遍历就是队列,层序遍历也是队列,后序遍历就是用栈暂存逆序,最后结果序列再逆置一下 2、层序遍历是取第一个元素,把

Tlwhisper的博客 1170

时间门控拉曼进展

拉曼光谱就像是用光给分子拍“指纹照”,通过激光照射样品,散射光会揭示样品的分子结构。但问题来了,样品有时会发荧光,就像拍照时闪光灯太亮,把指纹照模糊了。时间门控拉曼光谱技术就像加了个“快门”,只在拉曼信号出现的那一瞬间开门,把慢吞吞的荧光挡在门外,这样就能拍到清晰的“指纹”。

qq_53529450的博客 538

【LeetCode】第590题——N叉树的后序遍历(难度:简单)

【LeetCode】第590题——N叉树的后序遍历(难度:简单)题目描述解题思路代码详解思路一:递归思路二:迭代 题目描述 给定一个 N 叉树,返回其节点值的后序遍历。 示例:给定一个 3叉树 : 返回其后序遍历: [5,6,3,2,4,1]. 说明: 递归法很简单,你可以使用迭代法完成此题吗? 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/n-ary-tree-postorder-traversal 著作权归领扣网络所有。商业转载请联系官方授

Se7en_Dayz的博客 240

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

leetcode 算法题590 (简单150) N叉树的后序遍历

leetcode 算法题590 (简单150) N叉树的后序遍历 题目介绍 给定一个 N 叉树,返回其节点值的后序遍历。 例如,给定一个 3叉树 : 返回其后序遍历: [5,6,3,2,4,1]. 说明 递归法很简单,你可以使用迭代法完成此题吗? 解法一 /** * // Definition for a Node. * function Node(val,children...

FYuu95100的博客 207

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【树-简单】590. N 叉树的后序遍历

【题目】 给定一个 N 叉树,返回其节点值的 后序遍历 。 N 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 进阶: 递归法很简单,你可以使用迭代法完成此题吗? 示例 1: 输入:root = [1,null,3,2,4,null,5,6] 输出:[5,6,3,2,4,1] 示例 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

... 208

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

简单题--590. N叉树的后序遍历

力扣刷题 给定一个 N 叉树,返回其节点值的后序遍历。 例如,给定一个 3叉树 : 解题思路:递归 /** * // Definition for a Node. * function Node(val,children) { * this.val = val; * this.children = children; * }; */ /** * @param {Node} root * @return {number[]} */ var postorder = functio

weixin_45209397的博客 143

【Python】【难度:简单】Leetcode 590. N叉树的后序遍历

给定一个 N 叉树,返回其节点值的后序遍历。 例如,给定一个3叉树: 返回其后序遍历:[5,6,3,2,4,1]. """ # Definition for a Node. class Node(object): def __init__(self, val=None, children=None): self.val = val self.children = children """ class Solution(object...

thomashhs12的博客 253

LeetCode_多叉树_简单_590.N 叉树的后序遍历

目录1.题目2.思路3.代码实现(Java) 1.题目 给定一个 n 叉树的根节点 root ,返回其节点值的后序遍历 。 n 叉树在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 示例 1: 输入:root = [1,null,3,2,4,null,5,6] 输出:[5,6,3,2,4,1] 示例 2: 输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,

代码星辰的博客 894

590. N 叉树的后序遍历(简单 栈 树 dfs)

590. N 叉树的后序遍历 给定一个 n 叉树的根节点 root ,返回 其节点值的 后序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 示例 1: 输入:root = [1,null,3,2,4,null,5,6] 输出:[5,6,3,2,4,1] 示例 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

weixin_43942435的博客 332

D11 LeetCode 590.N叉树的后序遍历(简单)

题目 class Node { public int val; public List<Node> children; public Node() {} public Node(int _val) { val = _val; } public Node(int _val, List<Node> _children) { val = _val; children = _c.

weixin_66813230的博客 1247

590. N叉树的后序遍历(简单)

""" # Definition for a Node. class Node(object): def __init__(self, val, children): self.val = val self.children = children """ class Solution(object): def postorder(self, roo...

花小七 473

LeetCode知识点总结 - 590

LeetCode 590. N-ary Tree Postorder Traversal 考点 难度 Tree Easy 题目 Given the root of an n-ary tree, return the postorder traversal of its nodes’ values. Nary-Tree input serialization is represented in their level order traversal. Each group of child

m0_59773145的博客 75

Java实现 LeetCode 590 N叉树的后序遍历(遍历树,迭代法)

590. N叉树的后序遍历 给定一个 N 叉树,返回其节点值的后序遍历。 例如,给定一个 3叉树 : 返回其后序遍历: [5,6,3,2,4,1]. 说明: 递归法很简单,你可以使用迭代法完成此题吗? /* // Definition for a Node. class Node { public int val; public List<Node> children...

南 墙 1万+

【LeetCode: 590. N 叉树的后序遍历 + DFS】

【LeetCode: 590. N 叉树的后序遍历 + DFS】给定一个 n 叉树的根节点 root ,返回 其节点值的 后序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。

Coder_ljw的博客 1128

leetcode590. N叉树的后序遍历

给定一个 N 叉树,返回其节点值的后序遍历。 例如,给定一个3叉树: 思路:先遍历所有孩子,再放入自己。 /* // Definition for a Node. class Node { public int val; public List<Node> children; public Node() {} public Node(...

少说,多做。 3359
上一篇: 【简单】589. N叉树的前序遍历
下一篇: 【简单】559. N叉树的最大深度
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值