前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >LC94–二叉树的中序遍历—144. 二叉树的前序遍历

LC94–二叉树的中序遍历—144. 二叉树的前序遍历

作者头像
Java架构师必看
修改于 2023-09-25 07:52:42
修改于 2023-09-25 07:52:42
24900
代码可运行
举报
文章被收录于专栏:Java架构师必看Java架构师必看
运行总次数:0
代码可运行

LC94--二叉树的中序遍历---144. 二叉树的前序遍历

强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码

94. 二叉树的中序遍历

难度中等846

给定一个二叉树的根节点 root ,返回它的 中序 遍历。

示例 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入:root = [1,null,2,3]
输出:[1,3,2]
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Solution {
   
    public List<Integer> inorderTraversal(TreeNode root) {
   
        ArrayList<Integer> list = new ArrayList<>();
        dfs(list, root);
        return list;
    }

    void dfs(ArrayList<Integer> list, TreeNode root) {
   
        if (root == null) {
   
            return;
        }
        dfs(list, root.left);
        list.add(root.val);
        dfs(list, root.right);

    }
}

144. 二叉树的前序遍历

难度中等504

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

示例 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入:root = [1,null,2,3]
输出:[1,2,3]
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Solution {
   
    public List<Integer> preorderTraversal(TreeNode root) {
   
            ArrayList<Integer> list = new ArrayList<>();
        dfs(list, root);
        return list;
    }

    void dfs(ArrayList<Integer> list, TreeNode root) {
   
        if (root == null) {
   
            return;
        }
         list.add(root.val);
        dfs(list, root.left);
       
        dfs(list, root.right);

    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
LeetCode-94-二叉树的中序遍历
迭代:中序遍历一般等同于DFS,用Stack来实现,后进先出。迭代是先把左子树全部添加进Stack中,然后弹出一个尾部,获得对应的val之后遍历右子树,在添加左子树的时候同时也添加了根节点,所以pop弹出时再添加val实际上会对左子树和左子树的根节点进行操作
benym
2022/07/14
1950
☆打卡算法☆LeetCode 144. 二叉树的前序遍历 算法解析
大家好,我是小魔龙,Unity3D软件工程师,VR、AR,虚拟仿真方向,不定时更新软件开发技巧,生活感悟,觉得有用记得一键三连哦。 一、题目 1、算法题目 “给定二叉树的根节点,返回节点值的前序遍历。” 题目链接: 来源:力扣(LeetCode) 链接: 144. 二叉树的前序遍历 - 力扣(LeetCode) 2、题目描述 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入: root = [1,null,2,3] 输出: [1,2,3] 示例 2: 输入: root =
恬静的小魔龙
2022/08/07
1640
☆打卡算法☆LeetCode 144. 二叉树的前序遍历  算法解析
LeetCode 训练场:144. 二叉树的前序遍历
1. 题目 144. 二叉树的前序遍历 2. 描述 给定一个二叉树,返回它的 前序 遍历。 3. 思路 按照前序遍历的思想,利用递归来实现很简单。 4. 实现 public List<Integer> preorderTraversal(TreeNode root) { List<Integer> list = new ArrayList<Integer>(); preOrder(root, list); return list; } public void pre
村雨遥
2022/06/15
1220
LeetCode 训练场:144. 二叉树的前序遍历
LeetCode-94. 二叉树的中序遍历(java)
       前几期做了也有两仨道数据结构-二叉树题了,不知小伙伴们第一眼看到这题,有何想法,或者心中早已无码?其实这题题意已经很明确了,​​中序遍历​​(递归),这就要求小伙伴对二叉树的哪几种遍历要有个概念了。
bug菌
2023/05/27
1950
LeetCode-94. 二叉树的中序遍历(java)
【每日leetcode】20.二叉树的中序遍历
树中节点数目在范围 [0, 100] 内 -100 <= Node.val <= 100
一条coding
2021/08/12
1780
【每日leetcode】20.二叉树的中序遍历
LeetCode-144-二叉树的前序遍历
不过奇怪的是这个题跑不过测试用例.......只能换成栈来做,也就是调整一下加入顺序,需要先添加右子树,再添加左子树,由于pop是后进先出,所以弹出的顺序变为了先弹出左子树,再是右子树,变成了Queue的先进先出的样子
benym
2022/07/14
1780
leetcode144-二叉树的前序遍历
  首先我们需要了解什么是二叉树的前序遍历:按照访问根节点——左子树——右子树的方式遍历这棵树,而在访问左子树或者右子树的时候,我们按照同样的方式遍历,直到遍历完整棵树。因此整个遍历过程天然具有递归的性质,我们可以直接用递归函数来模拟这一过程。
别团等shy哥发育
2023/02/25
1870
leetcode144-二叉树的前序遍历
144. 二叉树的前序遍历
先使用递归来求解。前序遍历的顺序是根左右,因此先将当前节点的值放入结果数组中,然后再递归的求出左节点和右节点即可。
chuckQu
2022/08/19
1820
二叉树的递归遍历,套路都在这里
主要是对递归不成体系,没有方法论,每次写递归算法 ,都是靠玄学来写代码,代码能不能编过都靠运气。
代码随想录
2021/07/16
4780
leetcode二叉树的层次遍历_完全二叉树的中序序列
二叉树的中序遍历方法:按照“左(子树)→中→右”顺序遍,可以使用递归方式进行遍历
全栈程序员站长
2022/10/05
2890
leetcode二叉树的层次遍历_完全二叉树的中序序列
leetcode-144. 二叉树的前序遍历
这道题是树的前序遍历,就是以先遍历左子树再遍历右子树的方式遍历整棵树,使用递归思路简单清晰。
灰太狼学Java
2022/06/17
1810
leetcode-144. 二叉树的前序遍历
LeetCode | 94.二叉树的中序遍历
这次来写一下 LeetCode 的第 94 题,二叉树的中序遍历。
码农UP2U
2020/10/14
4240
LeetCode | 94.二叉树的中序遍历
二叉树的三种遍历实现
发现规律没?左右的位置始终不变,前序遍历,根在前面,中序遍历,根在中间,以此类推。
Java识堂
2019/08/13
2830
二叉树的三种遍历实现
leecode刷题(28)-- 二叉树的前序遍历
这道题我们用递归的思想很容易就能解出来。前序遍历,我们先处理根,之后是左子树,然后是右子树。
希希里之海
2019/05/15
4490
leecode刷题(28)-- 二叉树的前序遍历
144. 二叉树的前序遍历
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 class Solution { List<Integer> list=new ArrayList();//存放结果 p
编程张无忌
2021/06/22
2530
144. 二叉树的前序遍历
leetcde算法面试套路之二叉树
这里优先选择了 LeetCode 热题 HOT 100 中的树题,毕竟刷题的边际收益就是冲击需要算法的面试,所以 Hot 优先级更高。
js2030code
2022/12/15
2390
leecode刷题(29)-- 二叉树的中序遍历
leecode刷题(29)-- 二叉树的中序遍历 二叉树的中序遍历 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] ---- 思路 跟上一道题一样,用递归的思想很快就能解决。 中序遍历: 先处理左子树,然后是根,最后是右子树。 代码如下 Java 描述 /** * Definition for a binary tree node. * public class TreeNode { *
希希里之海
2019/05/15
3560
leecode刷题(29)-- 二叉树的中序遍历
同学,二叉树的各种遍历方式,我都帮你总结了,附有队列堆栈图解(巩固基础,强烈建议收藏)
二叉树(binary tree) 是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。
灵魂画师牧码
2021/02/05
4.6K0
同学,二叉树的各种遍历方式,我都帮你总结了,附有队列堆栈图解(巩固基础,强烈建议收藏)
LeetCode-145-二叉树的后序遍历
迭代:后序遍历的方式是左右根,前序遍历是根左右,如果用Stack来实现根左右,那么左边先加入就会后出,右边后加入会先出,于是看似是add(left)之后add(right),实际上会先访问到right再访问left,从而实现前序遍历得到根右左,即后序遍历的倒序,之后将列表倒序就是后序遍历的结果
benym
2022/07/14
2330
【LeetCode】一文详解二叉树的三大遍历:前序、中序和后序(python和C++实现)
本文主要包括利用递归和栈的方法实现二叉树的前序、中序、后序遍历! 144. 二叉树的前序遍历 给定一个二叉树,返回它的 前序遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 解题思路 1.1 树的前序遍历--非递归方法(栈) 因为先访问根节点,所以直接将root的val放入答案(ans)容器 利用stack来储存root。 当左子树遍历完后,取出root接着遍历右子树。 C++实现: /** * Definition
深度学习技术前沿公众号博主
2020/05/18
9320
推荐阅读
相关推荐
LeetCode-94-二叉树的中序遍历
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验