144. Binary Tree Preorder Traversal
public List<Integer> preorderTraversal(TreeNode root) { List<Integer> results = new ArrayList<Integer>(); if(root == null) return results; Deque<TreeNode> unprocessed = new ArrayDeque<TreeNode>(); TreeNode current = root; while(current != null || !unprocessed.isEmpty()) { if(current == null) current = unprocessed.pop(); results.add(current.val); if(current.right!=null) unprocessed.push(current.right); current = current.left; } return results; }

浙公网安备 33010602011771号