代码编织梦想

C++解二叉树的中序遍历

原题:
给定一个二叉树的根节点 root ,返回它的 中序 遍历。
示例 1:
在这里插入图片描述

输入:root = [1,null,2,3]
输出:[1,3,2]
示例 2:
输入:root = []
输出:[]
示例 3:
输入:root = [1]
输出:[1]
示例 4:
输入:root = [1,2]
输出:[2,1]
示例 5:
在这里插入图片描述

输入:root = [1,null,2]
输出:[1,2]
提示:
树中节点数目在范围 [0, 100] 内
-100 <= Node.val <= 100

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal

解题:对于这道题,首先需要先了解二叉树的中序遍历是指什么,就是按照左子树-根节点-右子树的顺序进行访问,其中对于左子树的遍历,同样是按照这样子的方法进行的。那么对于这样的规律,我们就可以利用递归来实现了。首先给出递归的出口,就是当遍历的这个节点为空时,那就要返回,退出递归。

class Solution {
public:
    vector<int> inorderTraversal(TreeNode* root) {
        vector<int> ans;
        order(root,ans);
        return ans;
    }
    void order(TreeNode* root,vector<int>& ans){
        if(!root){
            return;
        }
        order(root->left,ans);
        ans.push_back(root->val);
        order(root->right,ans);
    }
};
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/CuiZiDaYe/article/details/115413566

给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回_冰镇-西瓜的博客-爱代码爱编程

题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 /* public class TreeLinkNode { int val; TreeLinkNode left = null; TreeLinkNode r

94. 二叉树的中序遍历_syaojun的博客-爱代码爱编程

题目:94. Binary Tree Inorder Traversal 难度:中等 类型:树 递归 星级:五星推荐 版本1 递归法 class Solution { public: vector<int

给定一个二叉树,返回它的中序 遍历。-爱代码爱编程

1.给定一个二叉树,返回它的中序 遍历。 2.代码展示 /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; *

中序遍历的三种方式(递归,非递归,非递归常数空间)-爱代码爱编程

目录 1.递归:思路与算法 2.非递归(使用栈来模拟递归):思路与算法 3.非递归的常数空间:思路与算法 1.递归:思路与算法 首先我们需要了解什么是二叉树的中序遍历:按照访问左子树——根节点——右子树的方式遍历这棵树,而在访问左子树或者右子树的时候我们按照同样的方式遍历,直到遍历完整棵树。因此整个遍历过程天然具有递归的性质,我们可以直接用递归函

数据结构_树和二叉树(1)-爱代码爱编程

树和二叉树 树的基本概念树的定义基本术语二叉树定义特点性质特殊二叉树性质二叉树的存储二叉树的遍历线索二叉树 树的基本概念 树的定义 树是 N N N(

树的遍历:给定一个二叉树的根节点 root ,返回它的 中序 遍历。-爱代码爱编程

class Solution { public List<Integer> inorderTraversal(TreeNode root) { List<Integer> res = new ArrayList<Integer>(); inorder(root, res);

二叉树 中序遍历 python_leetcode 94 二叉树的中序遍历-爱代码爱编程

给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 示例 4: 输入

(js)leetcode 94. 二叉树的中序遍历-爱代码爱编程

题目: 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 示例 4: 输入:root = [1,2] 输出:[2,1]

算法---LeetCode 94. 二叉树的中序遍历-爱代码爱编程

1. 题目 原题链接 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 示例 4: 输入:root = [1,2] 输出:[2,1] 示例 5

给定二叉树的根节点root,请用先序/中序/后序遍历分别返回其节点值-爱代码爱编程

题目要求 给定二叉树的根节点root,请用先序/中序/后序遍历分别返回其节点值 代码 class TreeNode { public int val; public TreeNode left; public TreeNode right; public TreeNode(int val) { th

LeetCode-94. 二叉树的中序遍历-爱代码爱编程

题目描述: 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 输入:root = [1,null,2,3] 输出:[1,3,2] 思路分析: 用递归或是迭代算法来解决。 递归: 首先我们需要了解什么是二叉树的中序遍历:按照访问左子树——根节点——右子树的方式遍历这棵树,而在访问左子树或者右子树的时候我们按照同样的方式遍历,直到遍

leetcode刷题---热门百题---二叉树的中序遍历-爱代码爱编程

给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 中序遍历就没什么好说的了 直接代码 /** * Definition for a binary t

二叉树的中序遍历递归和迭代解法-爱代码爱编程

leetcode94. 二叉树的中序遍历 题目链接 给定一个二叉树的根节点 root ,返回它的中序遍历。 struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode() : val(0), left(nullptr), right(

leetcode刷题日记:94. 二叉树的中序遍历-爱代码爱编程

给定一个二叉树的根节点 root ,返回它的 中序 遍历。   示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 示例 4: 输入:root = [1,2] 输出:[2,1] 示例 5: 输入:root

编程训练第八十七期——二叉树的中序遍历-爱代码爱编程

编程问题: 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 问题描述: 输入:root = [1,null,2,3] 输出:[1,3,2]输入:root = [] 输出:[]输入:root = [1] 输出:[1]解法: 1.递归 时间复杂度O(N) 空间复杂度O(N) /** * Definition for a binary t

数据结构--二叉树--路径 假设二叉树采用二叉链表方式存储, root指向根结点,node 指向二叉树中的一个结点, 编写函数 path,计算root到 node 之间的路径,(该路径包括root结-爱代码爱编程

假设二叉树采用二叉链表方式存储, root指向根结点,node 指向二叉树中的一个结点, 编写函数 path,计算root到 node 之间的路径,(该路径包括root结点和 node 结点)。path 函数声明如下: bool path(BiTNode* root, BiTNode* node, Stack* s); 其中,root指向二叉树的根结

每日一题-08-二叉树中序遍历-爱代码爱编程

每日一题-08-二叉树中序遍历 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 示例 4: 输入:root =

第二十题 94. 二叉树的中序遍历-爱代码爱编程

94. 二叉树的中序遍历 题目描述 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例2 输入:root = [] 输出:[] 示例3 输入:root = [1] 输出:[1] 示例4 输入:root