Binary Tree Inorder Traversal
给一个二叉树, 做in order遍历.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
/** * Definition for a binary tree node. * 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> res = new ArrayList<Integer>(); Stack<TreeNode> st = new Stack<TreeNode>(); while(root != null || !st.isEmpty()){ while(root!=null){ st.push(root); root = root.left; } root = st.pop(); res.add(root.val); root = root.right; } return res; } } |