For example:
Given binary tree {1,#,2,3}, java
1 \ 2 / 3
return [1,3,2]. code
二叉樹的中序遍歷,解題思路類同於前序遍歷。 it
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public List<Integer> inorderTraversal(TreeNode root) { List<Integer> list = new ArrayList<Integer>(); Deque<TreeNode> stack = new ArrayDeque<TreeNode>(); TreeNode p = root; while(p!=null || !stack.isEmpty()){ while(p!=null){ stack.push(p); p = p.left; } if(!stack.isEmpty()){ p = stack.pop(); list.add(p.val); p = p.right; } } return list; } }