首页 > 其他分享 >144. 二叉树的前序遍历

144. 二叉树的前序遍历

时间:2023-08-08 22:04:11浏览次数:37  
标签:node 144 遍历 示例 前序 dfs 二叉树 root

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

示例 1:

144. 二叉树的前序遍历_List

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

示例 2:

输入:root = []
输出:[]

示例 3:

输入:root = [1]
输出:[1]

示例 4:

144. 二叉树的前序遍历_二叉树_02

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

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

标签:node,144,遍历,示例,前序,dfs,二叉树,root
From: https://blog.51cto.com/u_16123878/7012518

相关文章

  • 145. 二叉树的后序遍历
    给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。示例1:输入:root=[1,null,2,3]输出:[3,2,1]示例2:输入:root=[]输出:[]classSolution:defpostorderTraversal(self,root:Optional[TreeNode])->List[int]:res=[]defdfs(node):......
  • 剑指 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......
  • 剑指 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[......
  • 剑指 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=......
  • 剑指 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......
  • 剑指 Offer 27. 二叉树的镜像(简单)
    题目:classSolution{public:voidtraversal(TreeNode*cur){if(cur==nullptr)return;swap(cur->left,cur->right);//从上换到下面就完事了traversal(cur->left);traversal(cur->right);}TreeNode*mirrorTree(TreeNode*root){traversal(root);ret......