LC.144. Binary Tree Preorder Traversal

https://leetcode.com/problems/binary-tree-preorder-traversal/description/

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

For example:
Given binary tree [1,null,2,3],

   1
    \
     2
    /
   3

 

return [1,2,3].

time: o(n) space:o(n): worst case like linked list

 1 public List<Integer> preorderTraversal(TreeNode root) {
 2     // Write your solution here
 3     if(root == null ) return new ArrayList<Integer>() ; 
 4       List<Integer> res = new ArrayList<Integer>() ; 
 5     traverse(root, res) ; 
 6     return res ; 
 7   }
 8   private void traverse(TreeNode root, List<Integer> res){
 9       //base case 
10     if(root == null ) return ; 
11     res.add(root.val); 
12     traverse(root.left, res); 
13     traverse(root.right, res) ; 
14   }

 

posted @ 2018-02-27 09:29  davidnyc  阅读(113)  评论(0)    收藏  举报