【刷题笔记8.11】LeetCode题目:二叉树中序遍历、前序遍历、后序遍历

这篇具有很好参考价值的文章主要介绍了【刷题笔记8.11】LeetCode题目:二叉树中序遍历、前序遍历、后序遍历。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

LeetCode题目:二叉树中序遍历、前序遍历、后序遍历

题目1:二叉树中序遍历

(一)题目描述

给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。
【刷题笔记8.11】LeetCode题目:二叉树中序遍历、前序遍历、后序遍历,leetcode,算法,java

(二)分析

二叉树中序遍历,遍历顺序:左节点 -》 根节点 -》 右节点
注意:二叉树的前、中、后序遍历就是以根为基准,前序遍历根在最前面,中序遍历根在中间,后序遍历根在最后面

(三)具体代码如下

这题没啥意思,咱使用递归方式,直接背下来最快

public class Solution {
    public List<Integer> inorderTraversal(TreeNode root) {
    	//创建一个集合,用于接收返回结果
        List<Integer> result = new ArrayList<>();
        inorder(root, result);
        return result;
    }

    public void inorder(TreeNode root, List<Integer> list) {
        if (root == null) {
            //在void修饰的方法中,return;相当于return null;(实际上编译后的字节码是相同的),并且在void的方法中只能使用return,使用return null会报错。
            return;
        }

        //中序遍历(左——》根——》右)
        inorder(root.left, list);
        list.add(root.val);
        inorder(root.right, list);
    }
}

题目2:二叉树的前序遍历

(一)题目描述

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

数据范围:二叉树的节点数量满足

1≤n≤100 ,二叉树节点的值满足

1≤val≤100 ,树的各节点的值各不相同
【刷题笔记8.11】LeetCode题目:二叉树中序遍历、前序遍历、后序遍历,leetcode,算法,java

(二)分析

二叉树前序遍历:根节点 -》 左节点 -》右节点

(三)代码实现
public class Solution {
    public List<Integer> preorderTraversal(TreeNode root) {
    	//创建一个集合,用于接收返回结果
        List<Integer> result = new ArrayList<>();
        preorder(root, result);
        return result;
    }

    public void preorder(TreeNode root, List<Integer> list) {
        if (root == null) {
            //在void修饰的方法中,return;相当于return null;(实际上编译后的字节码是相同的),并且在void的方法中只能使用return,使用return null会报错。
            return;
        }

        //前序遍历(根——》左——》右)
        list.add(root.val);
        preorder(root.left, list);
        preorder(root.right, list);
    }
}

题目3:二叉树后序遍历

(一)题目描述

【刷题笔记8.11】LeetCode题目:二叉树中序遍历、前序遍历、后序遍历,leetcode,算法,java

分析

二叉树后序遍历:左节点 -》 右节点 -》根节点文章来源地址https://www.toymoban.com/news/detail-644108.html

代码实现
public class Solution {
    public List<Integer> postorderTraversal(TreeNode root) {
    	//创建一个集合,用于接收返回结果
        List<Integer> result = new ArrayList<>();
        postorder(root, result);
        return result;
    }

    public void postorder(TreeNode root, List<Integer> list) {
        if (root == null) {
            //在void修饰的方法中,return;相当于return null;(实际上编译后的字节码是相同的),并且在void的方法中只能使用return,使用return null会报错。
            return;
        }

        //后序遍历(左——》右——》根)

        postorder(root.left, list);
        postorder(root.right, list);
        list.add(root.val);
    }
}

到了这里,关于【刷题笔记8.11】LeetCode题目:二叉树中序遍历、前序遍历、后序遍历的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LeetCode算法递归类—二叉树中的最大路径和

    目录 124. 二叉树中的最大路径和 - 力扣(LeetCode) 题解: 代码: 运行结果: 二叉树中的  路径  被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中  至多出现一次  。该路径  至少包含一个  节点,且不一定经过根节点。 路径和

    2024年02月12日
    浏览(24)
  • leetcode: 1261: 在受污染的二叉树中查找元素

    给出一个满足下述规则的二叉树: root.val == 0 如果  treeNode.val == x  且  treeNode.left != null ,那么  treeNode.left.val == 2 * x + 1 如果  treeNode.val == x  且  treeNode.right != null ,那么  treeNode.right.val == 2 * x + 2 现在这个二叉树受到「污染」,所有的  treeNode.val  都变成了  -1 。 请你先

    2024年03月12日
    浏览(25)
  • 算法刷题Day 21 二叉搜索树的最小绝对差+二叉搜索树中的众数+二叉树的最近公共祖先

    递归 递归中保存前一个节点的指针的方法,需要再学习,巩固一下 迭代 一下子就想到的方法:遍历一遍二叉搜索树,把各个节点的值存进哈希表里(节点值——键,出现频率——值),再遍历哈希表找众数 一般方法 既然是二叉搜索树,中序遍历就是有序的。有序的话,我

    2024年02月16日
    浏览(30)
  • 算法训练day20Leetcode654最大二叉树617合并二叉树700二叉树中的1搜索98验证二叉搜索树

    https://leetcode.cn/problems/maximum-binary-tree/description/ 中序遍历递归,找到最大值然后作为根节点 凡是构造二叉树的题目都用前序遍历 (中左右) 为先构造中间节点,然后递归构造左子树和右子树。 确定递归函数的参数和返回值 参数传入的是存放元素的数组,返回该数组构造的二

    2024年01月21日
    浏览(29)
  • 每日一题:leetcode 1448 统计二叉树中好节点的数目

    给你一棵根为  root  的二叉树,请你返回二叉树中好节点的数目。 「好节点」X 定义为:从根到该节点 X 所经过的节点中,没有任何节点的值大于 X 的值。 示例 1: 示例 2: 示例 3: 提示: 二叉树中节点数目范围是  [1, 10^5]  。 每个节点权值的范围是  [-10^4, 10^4]  。 思路

    2024年02月11日
    浏览(30)
  • Leetcode每日一题:1448. 统计二叉树中好节点的数目

    给你一棵根为  root  的二叉树,请你返回二叉树中好节点的数目。 「好节点」X 定义为:从根到该节点 X 所经过的节点中,没有任何节点的值大于 X 的值。 示例 1: 示例 2: 示例 3: 提示: 二叉树中节点数目范围是  [1, 10^5]  。 每个节点权值的范围是  [-10^4, 10^4]  。 显然

    2024年02月11日
    浏览(27)
  • 力扣日记1.11-【二叉树篇】450. 删除二叉搜索树中的节点

    日期:2024.1.11 参考:代码随想录、力扣 题目描述 难度:中等 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为两个步骤: 首

    2024年01月23日
    浏览(31)
  • 2023-08-25 LeetCode每日一题(统计二叉树中好节点的数目)

    点击跳转到题目位置 给你一棵根为 root 的二叉树,请你返回二叉树中好节点的数目。 「好节点」X 定义为:从根到该节点 X 所经过的节点中,没有任何节点的值大于 X 的值。 示例 1: 示例 2: 示例 3: 提示: 二叉树中节点数目范围是 [1, 10 5 ] 。 每个节点权值的范围是 [-10

    2024年02月11日
    浏览(24)
  • 【算法刷题day22】Leetcode:235. 二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 50.删除二叉搜索树中的节点

    文档链接:[代码随想录] 题目链接:235. 二叉搜索树的最近公共祖先 题目: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深

    2024年04月13日
    浏览(28)
  • Leetcode每日一题:1448. 统计二叉树中好节点的数目(2023.8.25 C++)

    目录 1448. 统计二叉树中好节点的数目 题目描述: 实现代码与解析: dfs 原理思路:         给你一棵根为  root  的二叉树,请你返回二叉树中好节点的数目。 「好节点」X 定义为:从根到该节点 X 所经过的节点中,没有任何节点的值大于 X 的值。 示例 1: 示例 2: 示例

    2024年02月11日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包