public List<Integer> preorderTraversal(TreeNode root){
    	List<Integer> list = new ArrayList<Integer>();
    	if(root == null) return list;
    	
    	preOrderRec(list, root);
    	
    	return list;
    }