Thursday, June 12, 2014

LeetCode Binary Tree Preorder Traversal

public List<Integer> preorderTraversal(TreeNode root) {
        List<Integer> list = new ArrayList<Integer>();
        if (root == null) return list;
        Stack<TreeNode> stack = new Stack<TreeNode>();
        stack.push(root);
       
        while (!stack.empty()) {
            TreeNode temp = stack.pop();
            list.add(temp.val);
           
            if (temp.right != null) {
                stack.push(temp.right);
            }
            if (temp.left != null) {
                stack.push(temp.left);
            }
           
        }
        return list;
    }

No comments:

Post a Comment