[leetcode] 144.二叉树的前序遍历
给你二叉树的根节点 root
,返回它节点值的 前序 遍历。
示例 1:
输入:root = [1,null,2,3] 输出:[1,2,3]
示例 2:
输入:root = [] 输出:[]
示例 3:
输入:root = [1] 输出:[1]
示例 4:
输入:root = [1,2] 输出:[1,2]
示例 5:
输入:root = [1,null,2] 输出:[1,2]
提示:
- 树中节点数目在范围
[0, 100]
内 -100 <= Node.val <= 100
1.递归解法
class Solution:def preorderTraversal(self, root: TreeNode) -> List[int]:self.res = []self.dfs(root)return self.resdef dfs(self,node:TreeNode):if node is None:returnself.res.append(node.val)self.dfs(node.left)self.dfs(node.right)
2.非递归解法--栈
class Solution:def preorderTraversal(self, root: TreeNode) -> List[int]:"""root->left->right入栈顺序root->right->left"""res = []if root is None:return resstack = []stack.append(root)while len(stack)!=0:node = stack.pop()res.append(node.val)if node.right != None:stack.append(node.right)if node.left != None:stack.append(node.left)return res
[leetcode] 144.二叉树的前序遍历相关推荐
- [leetcode] 144. 二叉树的前序遍历
144. 二叉树的前序遍历 递归写法 class Solution {public List<Integer> preorderTraversal(TreeNode root) {List ...
- LeetCode 144. 二叉树的前序遍历(前序遍历)
文章目录 1. 题目信息 2. 解题 2.1 递归 2.2 循环,必须掌握 1. 题目信息 给定一个二叉树,返回它的 前序 遍历. 示例:输入: [1,null,2,3] 1\2/3 输出: [1,2 ...
- Leetcode 144. 二叉树的前序遍历 (每日一题 20210820)
给你二叉树的根节点 root ,返回它节点值的 前序 遍历.示例 1:输入:root = [1,null,2,3] 输出:[1,2,3] 示例 2:输入:root = [] 输出:[] 示例 3:输入 ...
- LeetCode 144. 二叉树的前序遍历(递归)(迭代)(颜色标记法)
题目描述 给定一个二叉树,返回它的前序遍历. 思路 详见链接 代码 递归法 #class TreeNode: # def __init__(self,x): # self.val = x # self ...
- Leetcode 144. 二叉树的前序遍历 解题思路及C++实现
解题思路: 这道题目的解题思路与中序遍历一模一样,区别只在于输出结果放在push进栈之前. 程序的大循环是遍历整个树,所以循环停止条件是:栈为空,且当前访问节点root为NULL,这时说明所有的跟节点 ...
- LeetCode 144 ——二叉树的前序遍历
1. 题目 2. 解答 2.1. 递归法 定义一个存放树中数据的向量 data,从根节点开始,如果节点不为空,那么 将当前节点的数值加入到 data 中 递归得到其左子树的数据向量 temp,将 te ...
- Leetcode 129求根节点到叶节点数字之和、104二叉树的最大深度、8字符串转换整数(atoi)、82删除排序链表中的重复元素II、204二分查找、94二叉树的中序遍历、144二叉树的前序遍历
Top1:Leetcode 129求根节点到叶节点数字之和 官方题解:https://leetcode.cn/problems/sum-root-to-leaf-numbers/solution/qi ...
- LeetCode-二叉树-144. 二叉树的前序遍历
描述 144. 二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前序 遍历. 示例 1: 输入:root = [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:roo ...
- 刻意练习:LeetCode实战 -- 二叉树的前序遍历
背景 今天,第二期基础算法(Leetcode)刻意练习训练营 的打卡任务是二叉树的中序遍历,由于二叉树的遍历方式通常来说有四种:前序遍历.中序遍历.后序遍历以及层次遍历,而LeetCode也有二叉树的 ...
最新文章
- otto android,Albert otto
- RASPBERRY PI 3 MODEL B 安装使用
- Django 实现WEB登陆(第二版)
- MFC VC 双缓冲绘图基本原理与实现,详细解释
- 详解两阶段3D目标检测网络PVRCNN:Point-Voxel Feature Set Abstraction for 3D Object Detection
- 一个程序员的“无聊”故事
- 03MyBatis动态sql
- svn报错:This error was generated by a custom hook script on the Subversion server.
- 诊断Oracle 服从成绩
- Java图片人物照片头像识别
- 无源微波器件--耦合线定向耦合器
- 解决AppUpdate不能使用的问题
- 学计算机文理不分,新高考文理不分科怎么上课 文理不分科还分班吗
- 4通道并行同步模拟输入,1MSps、16Bit数据采集卡
- @Around环绕增强
- iphone修改app名称_如何更改iPhone App名称100%!
- Bilibili网站后台代码泄露,从注释看到的一些感想。
- 文件上传保姆级教程(原理,大小马,CTF,防御,绕狗一句话,upload-labs)
- 怎么解决 接口请求 504 Gateway Time-out
- android腾讯新闻,Android实现腾讯新闻的新闻类别导航效果
热门文章
- 再见丑陋的 Swagger,这个API神器界面更炫酷,逼格更高,体验更好!
- JAVA字节码指令iload_n为什么只有0到3?
- 通过 Go 语言来实现 DDD 分层设计,美滋滋!
- 【声入人心:音频新体验】
- LiveVideoStack主编观察04 /
- ECCV 2020 亮点摘要(上)
- 基于Vue-SSR优化方案归纳总结
- 网络直播“黑科技”:Stream Matrix
- 当 高并发系统下 Redis 发生高延迟时,其内部到底发生了什么
- Spark2.3.0的DataFrame去哪了,DataSet是哪位?