【LeetCode】Binary Tree Inorder Traversal

Binary Tree Inorder Traversal

 Total Accepted: 16406 Total Submissions: 47212My Submissions

 

Given a binary tree, return the inorder traversal of its nodes' values.

For example:
Given binary tree {1,#,2,3},

   1
    \
     2
    /
   3

 

return [1,3,2].

 

public class Solution {
    public ArrayList<Integer> inorderTraversal(TreeNode root) {
        ArrayList<Integer> re = new ArrayList<Integer>();
        Stack<TreeNode> stack = new Stack<TreeNode>();
        TreeNode cur = root;
        while(cur!=null||!stack.isEmpty()){
            if(cur!=null){
                stack.push(cur);
                cur = cur.left;
            }else{
                re.add(stack.peek().val);
                cur = stack.peek().right;
                stack.pop();
            }
        }
        return re;
        
    }
}

 

posted @ 2014-05-06 21:24  一弦一仙  阅读(87)  评论(0编辑  收藏  举报