【leetcode】94. 二叉树的中序遍历(binary-tree-inorder-traversal)(dfs)[中等]

2023-05-16

链接

https://leetcode-cn.com/problems/binary-tree-inorder-traversal/

耗时

解题:18 min
题解:1 min

题意

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

思路

详见代码。

时间复杂度: O ( n ) O(n) O(n)

AC代码

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    vector<int> ans;

    void dfs(TreeNode* root) {
        if(root == NULL) return ;
        dfs(root->left);
        ans.push_back(root->val);
        dfs(root->right);
    }
    
    vector<int> inorderTraversal(TreeNode* root) {
        dfs(root);
        return ans;
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【leetcode】94. 二叉树的中序遍历(binary-tree-inorder-traversal)(dfs)[中等] 的相关文章

  • 从一种数字系统转换为另一种数字系统后会有多少位数字

    主要问题 有多少位数字 让我解释 我有一个二进制数 11000000 十进制数是192 转换为十进制后 它有多少位 以十进制表示 在我的示例中 它是 3 位数字 但是 这不是问题 我在互联网上搜索并找到了一种用于整数部分的算法和一种用于小数
  • 除法和乘法 2 的幂

    我在一篇论文中读到 数字除以 2 的幂并乘以 2 的幂是一个微不足道的过程 我在互联网上搜索了很多解释 但没有得到它 任何人都可以用简单的语言解释一下这实际上意味着什么 从位操作的角度来看 这是微不足道的 乘以2相当于左移1位 除法相当于右
  • 我该如何实现这个折叠功能呢?

    给出了两种数据类型 颜色 和 植物 data Color Red Pink White Blue Purple Green Yellow deriving Show Eq data Plant Leaf Blossom Color Stal
  • 在应用 varImp 函数时使用带插入符号的 xgbTree 方法和目标变量的权重时出现非树模型错误

    当我使用 Caret 包中的 train 函数创建模型以使用权重进行梯度提升时 在使用 varImp 函数时出现错误 表示它没有检测到树模型 但当我去掉重量时它就起作用了 下面的代码产生错误 set seed 123 model weigh
  • 使用 Java 进行树可视化 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个库来生成图形或树 例如组织图表 该库应该能够从该图中生成纯图像 有谁知道一个好的 希望开源
  • 如何创建用于霍夫曼编码和解码的树?

    对于我的作业 我将对霍夫曼树进行编码和解码 我在创建树时遇到问题 并且陷入困境 不要介意打印语句 它们只是让我测试并查看函数运行时的输出是什么 对于第一个 for 循环 我从主块中用于测试的文本文件中获取了所有值和索引 在第二个 for 循
  • 如何从 Trie 中检索给定长度的随机单词

    我有一个简单的 Trie 用来存储大约 80k 长度为 2 15 的单词 它非常适合检查字符串是否是单词 但是 现在我需要一种获取给定长度的随机单词的方法 换句话说 我需要 getRandomWord 5 来返回 5 个字母的单词 所有 5
  • 哪些应用程序使用 R 树?

    除了 GIS 应用程序之外 还有哪些其他应用程序或库使用 R 树及其变体 电脑游戏经常如此 这是一个很酷的链接 http en wikipedia org wiki MegaTexture Future Technology Evoluti
  • Scheme (Lisp) 中树的深度反转

    我对Scheme中的基本树数据结构进行了深度逆向 define deep reverse t cond null t not pair t t else cons deep reverse cdr t deep reverse car t
  • 如何从此 d3.js layout.tree 获取树祖先和树后代的列表?

    我正在尝试和修改this https bl ocks org mbostock 4339083d3 js 的示例 用于根据 JSON 树结构绘制树 这就是树的一部分开始时的样子 我正在尝试进行两个单独的修改 但我不知道该怎么做 当单击节点的
  • 如何在 SQL 中进行广度优先搜索?

    给定一棵存储为关系的树 Parent Child 1 2 1 3 3 4 3 5 2 6 7 8 7 9 如何获取给定节点的所有后代 例如 对于 1
  • 在Python 3中将二进制字符串转换为字节数组

    尽管有很多相关的问题 但我找不到任何符合我的问题的问题 我想更改二进制字符串 例如 0110100001101001 转换成字节数组 同一个例子 b hi 我试过这个 bytes int i for i in 011010000110100
  • 在 R 中读入原始二进制数据并将其转换为整数

    我有一个二进制文件 其中包含编码为不同长度 主要是 2 4 字节 的有符号或无符号整数的数值 为了处理这些数据 我将文件的所需部分读取为raw向量与readBin 然后尝试将其转换为十进制 问题是 R的内置函数有限制 我不太明白 比如没有l
  • 将 SQL Server varBinary 数据转换为字符串 C#

    我需要帮助弄清楚如何转换来自SQL服务器表列设置为varBinary 最大 转换为字符串以便将其显示在标签中 这是在C 我正在使用数据读取器 我可以使用以下方式提取数据 var BinaryString reader 1 我知道该列包含之前
  • 将二进制数转换为包含每个二进制数的数组

    我试图将二进制值转换为每个 1 0 的列表 但我得到默认的二进制值而不是列表 我有一个字符串 我将每个字符转换为二进制 它给了我一个列表 其中每个字符都有一个字符串 现在我试图将每个字符串拆分为值为 0 1 的整数 但我什么也得不到 if
  • 存储 MySQL GUID/UUID

    这是我能想到的将 UUID 生成的 MySQL GUID UUID 转换为二进制文件 16 的最佳方法 UNHEX REPLACE UUID 然后将其存储在 BINARY 16 中 我应该知道这样做有什么影响吗 从 MySQL 8 0 及以
  • 使用中序和前序遍历输出二叉树

    class Node def init self data left None right None self data data self left left self right right def inorderTraversal r
  • 读取结构体定义的二进制文件

    有人可以指出我如何读取由 C 结构体定义的二进制文件的正确方向吗 它的结构内部有一些 define 这让我觉得它会让事情变得复杂 结构看起来像这样 尽管它比这更大 更复杂 struct Format unsigned long str to
  • 将浮点数 1864.78 转换为二进制和 IEEE 格式

    我一直在尝试将 S P 500 的值 今天为 1864 78 转换为它在内存中以 IEEE 单精度格式表示的方式 转换小数点左边 1864 很容易 11101001000 但如何获得十进制 78 的二进制表示形式呢 我尝试使用该技术 但它会
  • XSLT 将平面树结构转换为列表

    我有一个描述eshop树结构的xml文件 我只需要获取所有子组的列表 我不知道结构中有多少个父 子级别 输入 xml 如下所示

随机推荐