Skip to content

Instantly share code, notes, and snippets.

@rootid
Created June 6, 2015 16:54
Show Gist options
  • Save rootid/84bdbab9b66667dbff48 to your computer and use it in GitHub Desktop.
Save rootid/84bdbab9b66667dbff48 to your computer and use it in GitHub Desktop.
List<Integer> list = new LinkedList<Integer>();
//The Good
public List<Integer> preorderTraversalRec(TreeNode root) {
List<Integer> ans = new ArrayList<Integer>();
if (root == null) {
return ans;
}
ans.add(root.val);
ans.addAll(preorderTraversalRec(root.left));
ans.addAll(preorderTraversalRec(root.right));
return ans;
}
//The Bad
private void preorderTraversalHelper (TreeNode root,List<Integer> resultList) {
if (root == null) {
return;
}
resultList.add(root.val);
preorderTraversalHelper (root.right,resultList);
preorderTraversalHelper (root.left,resultList);
}
public List<Integer> preorderTraversal(TreeNode root) {
preorderTraversalHelper(root,list);
return list;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment