首页 > 其他分享 >145. 二叉树的后序遍历

145. 二叉树的后序遍历

时间:2023-08-08 22:02:25浏览次数:46  
标签:node 遍历 后序 res dfs 145 二叉树 root

给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。

示例 1:

145. 二叉树的后序遍历_后序遍历

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

示例 2:

输入:root = []
输出:[]
class Solution:
    def postorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
        res = []
        def dfs(node):
            if node is None:
                return
            dfs(node.left)
            dfs(node.right)
            res.append(node.val)
        dfs(root)
        return res

简简单单的后序遍历,后序遍历的规则是左右根,对于每一个子树的遍历规则也是左右根。

前序遍历

中序遍历

标签:node,遍历,后序,res,dfs,145,二叉树,root
From: https://blog.51cto.com/u_16123878/7012550

相关文章

  • 剑指 Offer 28. 对称的二叉树(简单)
    题目:classSolution{public:booltraversal(TreeNode*left,TreeNode*right){//递归判断左右两个**镜像**节点if(left==nullptr&&right!=nullptr)returnfalse;elseif(left!=nullptr&&right==nullptr)returnfalse;el......
  • [代码随想录]Day12-二叉树part01
    今天的题目就是二叉树的前中后序遍历,目前只写了递归方法,之后再补迭代方法。题目:144.二叉树的前序遍历思路:前序遍历:根-左-右代码1:递归,递归情况下只需要改变递归的顺序即可实现前中后序遍历。/***Definitionforabinarytreenode.*typeTreeNodestruct{*Va......
  • 遇到的问题-----c#操作mongodb用foreach遍历集合报错curcor not found
    foreach(varttdocindatabase.GetCollection("集合名").FindAll()){}执行了一部分就报错curcornotfound了 原因是curcor有一定的时限如果数据太多的话可考虑分几部分来处理vardata=database.GetCollection("集合名");......
  • 递归遍历QTreeView+QStandrdItemModel
    //递归遍历点击查看代码voiditerateTreeViewNodes(constQModelIndex&parentIndex,QStandardItemModel*model,QVector<QStandardItem*>&items){ introwCount=model->rowCount(parentIndex); intcolumnCount=model->columnCount(parentIndex); ......
  • 剑指 Offer 32 - III. 从上到下打印二叉树 III(中等)
    题目:解法一:classSolution{public:voidtraversal(TreeNode*cur,vector<vector<int>>&result,intdepth){if(cur==nullptr)return;if(result.size()==depth)result.push_back(vector<int>());result[depth].pu......
  • 王道408--数据结构--用数组实现二叉树--并查集及其优化代码
    一、数组实现二叉树(下标从0开始)#include<stdio.h>typedefstruct_TreeNode{intdata;boolIsEmpty;//结点是否为空//因为我们的二叉树不一定是满二叉树,中间可能有一些节点不存在//值为1代表空}TreeNode;//初始化voidInitTreeNode(TreeNodet[......
  • HS8145C5光猫桥接与路由器拨号
    前言  前几天在外边连接家里的设备总是提示离线,最奇怪的是离线时间段集中在某一个时间范围内,一度怀疑是网络不稳定造成的。  我起初的想法是,写个程序用来监控网络状况,一旦检测到异常及时向我发送通知,但是刘老哥建议我把光猫改成桥接用路由器拨号,每天定时重启一下得了。试了......
  • 剑指 Offer 32 - I. 从上到下打印二叉树(中等)
    题目://考察BFS(广度优先搜索)classSolution{public:vector<int>levelOrder(TreeNode*root){if(root==nullptr)return{};//一定不要漏了排除空树的情况vector<int>result;deque<TreeNode*>que;//用一个队列,利......
  • 剑指 Offer 07. 重建二叉树
    classSolution{privateMap<Integer,Integer>indexMap;publicTreeNodemyBuildTree(int[]preorder,int[]inorder,intpreorder_left,intpreorder_right,intinorder_left,intinorder_right){if(preorder_left>preorder_right)......
  • 剑指 Offer 07. 重建二叉树
    输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例1:Input:preorder=[3,9,20,15,7],inorder=[9,3,15,20,7]Output:[3,9,20,null,null,15,7]示例2:Input:preorder=[-1],inorder=......