94. 二叉树的中序遍历

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

示例:

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

输出: [1,3,2]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

 

 1 class Solution {
 2     public List<Integer> inorderTraversal(TreeNode root) {
 3         Stack<TreeNode> stack = new Stack<>();
 4         TreeNode p = root;
 5         if (root == null) return new ArrayList<>();
 6         List<Integer> res = new ArrayList<>();
 7         do {
 8             while (p != null) {
 9                 stack.push(p);
10                 p = p.left;
11             }
12             p = stack.pop();
13             res.add(p.val);
14             p = p.right;
15         } while (p != null || !stack.empty());
16         return res;
17     }
18 }

 

posted @ 2019-09-28 15:35  赤云封天  阅读(131)  评论(0编辑  收藏  举报