leecode刷题(29)-- 二叉树的中序遍历

二叉树的中序遍历

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

示例:

输入: [1,null,2,3]
1
\
2
/
3 输出: [1,3,2]

思路

跟上一道题一样,用递归的思想很快就能解决。

中序遍历:

先处理左子树,然后是根,最后是右子树。

代码如下

Java 描述

/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
List<Integer> list = new ArrayList();
public List<Integer> inorderTraversal(TreeNode root) {
if (root != null) {
inorderTraversal(root.left);
list.add(root.val);
inorderTraversal(root.right);
}
return list;
}
}

python 描述

# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None class Solution:
def inorderTraversal(self, root: TreeNode) -> List[int]:
res = []
if root is not None:
res = res + self.inorderTraversal(root.left)
res = res + [root.val]
res = res + self.inorderTraversal(root.right)
return res

总结

对比如下:

最新文章

  1. Bootstrap之导航条
  2. 那些年,我们在Django web开发中踩过的坑(一)——神奇的‘/’与ajax+iframe上传
  3. oracle 用Navicat创建的表的查询问题
  4. kaili 2.0 虚拟机修改ip
  5. JAVA_Reflection1
  6. angular替代Jquery,常用方法支持
  7. PHP-FPM进程池探秘
  8. 关于mysql的loose index scan的几点疑问
  9. GitHub无法访问或访问缓慢解决办法
  10. Perl IO:文件锁
  11. cout关闭输出缓冲,调试用
  12. Pytorch 入门之Siamese网络
  13. Ubuntu端口命令---查看端口占用及关闭
  14. mysql数据库导出CSV乱码问题
  15. excel中vba将excel中数字和图表输出到word中
  16. 什么是最小可行性数据产品(MVP)?如何用它做机器学习?
  17. Python3.7安装Geenlet
  18. java 反序列化 漏洞
  19. 让我们来一起学习OC吧
  20. Hibernate开发环境搭建

热门文章

  1. 邻居子系统输出 之 neigh_output、neigh_hh_output
  2. 小程序支持npm包
  3. Boost无锁队列
  4. c++ / % 四舍五入 向上取整ceil 向下取整floor
  5. 前端使用pdf.js预览pdf文件,超级简单
  6. pandas之数据选择
  7. C++异常实现机制
  8. Weex简介
  9. JavaScript基础入门06
  10. easyui datagrid checkbox复选框取消单击选中事件、初始全选全不选等问题解决