LeetCode 94:二叉树的中序遍历 Binary Tree Inorder Traversal
题目: 给定一个二叉树,返回它的 中序 遍历。 Given a binary tree, return the inorder traversal of its nodes' values. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? Follow up: Recursive solution is trivial, could you do it iteratively? 解题思路: 百度百科:二叉树的中序遍历: https://baike.baidu.com/item/中序遍历 遍历顺序:左子节点 --> 根节点 --> 右子节点 如下所示的二叉树: A / \ B C / \ / \ D E F G 其遍历顺序为:D -> B -> E -> A ->F -> C -> G 二叉树遍历可以用 DFS(深度优先搜索)完成,其实现方式为:递归或借助数据结构 栈 迭代。 这种遍历方式本质上是一个先进后出的栈式遍历方式,递归方法实际也是用递归方式实现栈的先进后出。 DFS-递归: Java: class Solution { public List<Integer> inorderTraversal(TreeNode root) { List<Integer> list = new