N叉树的后序遍历

1.题目

这道题是2024-2-19的签到题,题目难度为简单。

考察的知识点为DFS算法(树的深度遍历)。

题目链接:N叉树的后序遍历

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

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

2.思路

        这道题归根结底还是考察DFS算法,和昨天的前序遍历不同的是,它们的逻辑顺序不同,树的前序遍历思路是先添加值再递归遍历子结点;而树的后序遍历思路是先递归遍历子结点然后添加值,即遍历顺序是因此代码风格还是和昨天的一样,具体实现和注释在第3条中实现。

3.代码

"""
# Definition for a Node.
class Node:def __init__(self, val=None, children=None):self.val = valself.children = children
"""class Solution:def postorder(self, root: 'Node') -> List[int]:# 定义结果列表rst = []# 定义递归函数(DFS)def dfs(node):# 如果结点不为空if node:# 利用循环来分别递归子结点(从左到右)for child in node.children:dfs(child)# 添加当前结点的值到结果列表里面rst.append(node.val)# 递归遍历root结点dfs(root)return rst

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/689764.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode刷题-最接近的三位数之和

1.题目描述 2.解题思路 其实这个题目的解题思路,和昨天写的两个题目差不多,定义两个指针,进行排序,避免多次大量循环,减少时间复杂度。在上次的基础上进行了一个比较小的改动。 3.代码 class Solution:def threeSumCl…

swagger+javax/xml/bind/DatatypeConverter+aop各种问题

文章目录 一、No operations defined in spec!1.问题图片2.解决方法 二、java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter1.问题图片2.解决方法 三、AOP切点不够精确问题1.问题描述2.解决方案 总结 一、No operations defined in spec! 这是swagger报的错&…

代码随想录算法训练营 DAY20 | 二叉树(7)

一、LeetCode 530 二叉搜索树的最小绝对值 题目链接:530.二叉搜索树的最小绝对值https://leetcode.cn/problems/minimum-absolute-difference-in-bst/ 思路一:利用搜索二叉树的中序遍历结果为有序数组的性质,将遍历结果保存到数组中&#xf…

【Google SEO】SEO指标

SEO最难的事情之一就是: 你怎么知道你正在做的事情是否真的有效? 这是一个很难回答的问题。特别是因为SEO可能需要几个月的时间才能真正发挥作用。 好吧,今天您将确切地看到要跟踪的SEO指标。如何跟踪它们。以及如何加倍努力,为…

无法正常下载mxnet

无法正常下载mxnet 前言报错截图问题分析参考内容 前言 最近在看李沐老师的深度学习的内容,之前落下一直没看,目前在运行代码的时候无法下载mxnet 报错截图 使用python常用的下载方式下载mxnet出现如下问题,这是问题的部分截图 Building wheels for collected packages: nu…

阿里云香港轻量应用服务器是什么线路?

阿里云香港轻量应用服务器是什么线路?不是cn2。 阿里云香港轻量服务器是cn2吗?香港轻量服务器不是cn2。阿腾云atengyun.com正好有一台阿里云轻量应用服务器,通过mtr traceroute测试了一下,最后一跳是202.97开头的ip,1…

分库分表面试必背

一,背景 随着互联网的普及,使用人数和场景爆炸式增长,现在随便一个应用系统都可能达到数百万千万甚至更大数量级的数据。大量的数据带来了新的挑战,怎么快速完成增删改查的业务,是应用服务开发者最头痛的问题。面对这个…

OSPF解析:深入探索网络的心脏运作机制

1. OSPF的基本概念 OSPF(Open Shortest Path First)是一种用于IP网络的内部网关协议(IGP)。它是一种链路状态路由协议,使用Dijkstra算法计算最短路径树,以确定到达网络中每个目的地的最佳路径。OSPF被设计…

Linux网络编程套接字

目录 认识端口号认识传输层协议TCP/UDP网络字节序socket编程接口实现简单的UDP网络程序实现远程执行服务器shell指令Windows套接字编写UDP实现一个简单的聊天室实现简单的TCP网络程序TCP实现一个中英互译程序守护进程原理 认识端口号 在进行网络通信的时候是不是我们两台机器…

grafana配置钉钉告警模版(一)

1、配置钉钉告警模版 创建钉钉告警模版,然后在创建钉钉告警时调用模版。 定义发送内容具体代码 my_text_alert_list 是模版名称后面再配置钉钉告警时需要调用。 {{/* 定义消息体片段 */}} {{ define "my_text_alert_list" }}{{ range . }}告警名称&…

SpringAop是什么?

简单介绍: AOP:Aspect Oriented Programming (面向切面编程、面向方面编程),其实就是面向特定方法编程。 场景: 比如现在有一个需求,我要统计每一个业务方法的耗时时长, 我们只需在业务方法的前面获取一个…

srs 边缘集群

srs官方关于边缘集群的介绍: Edge Cluster | SRS 本篇分析一下边缘集群中上行边缘节点的处理逻辑。 关于上行的边缘节点: SRS对于上行边缘,采取直接代理方式,并没有采取边缘缓存方式。所谓边缘缓存方式,即推流到边…

操作系统概念

一、概念 任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括: 内核(进程管理,内存管理,文件管理,驱动管理)其他程序(例如函数库&…

区块链技术和Hyperledger Fabric介绍

1 区块链介绍 1.1 区块链技术形成 1.1.1 起源 在比特币诞生之时,技术专家们开始研究比特币的底层技术,并抽象提取出来,形成区块链技术,或者称分布式账本技术。 1.1.2 定义 简称BT(Blockchain technology&#xff…

【递归】【后续遍历】【迭代】【队列】Leetcode 101 对称二叉树

【递归】【后续遍历】Leetcode 101 对称二叉树 解法一: 递归:后序遍历 左右中解法二: 迭代法,用了单端队列 ---------------🎈🎈对称二叉树 题目链接🎈🎈------------------- 解法一…

Eclipse - Code Templates

Eclipse - Code Templates References Window -> Preferences -> C/C -> Code Style -> Code Templates 配置默认代码模板,可以点击 Export 将自己配置好的 Code Templates 导出去,以便备份和共享。 References [1] Yongqiang Cheng, https…

MACOS上面C/C++获取网卡索引,索引获取网卡接口名

依赖函数: if_nametoindex IF名字 to IF索引 if_indextoname IF索引 to IF名字 MACOS 10.7 版本支援(就是2011年发不OSX的第一个面向用的系统版本) int GetInterfaceIndex(const ppp::string& ifrName) noexcept{if (ifrName.empt…

Docker原理及概念相关

Docker最核心的组件 image:镜像,构建容器,也可以通过Dockerfile文本描述镜像的内容。 (我们将应用程序运行所需的环境,打包为镜像文件) Container:容器 (你的应用程序,就跑在容器中 ) 镜像仓库(dockerhub)(…

应急响应实战笔记02日志分析篇(5)

第5篇:MySQL日志分析 常见的数据库攻击包括弱口令、SQL注入、提升权限、窃取备份等。对数据库日志进行分析,可以发现攻击行为,进一步还原攻击场景及追溯攻击源。 0x01 Mysql日志分析 general query log能记录成功连接和每次执行的查询,我们…

【题解】洛谷 P4423 [BJWC2011] 最小三角形

题目链接 传送门 思路 我们充分发扬人类智慧: 将所有点全部绕原点随机旋转同一个角度,然后按 x y x\times y xy 从小到大排序。 根据数学直觉,在随机旋转后,答案中的三个点在数组中肯定不会离得太远。 所以我们只取每个点…