public ArrayList<ArrayList<Integer>> generate(int numRows) {
    	ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>();
    	if(numRows == 0) return res;
    	int[] array = new int[numRows];
    	array[0] = 1;
    	ArrayList<Integer> row1 = new ArrayList<Integer>();
    	row1.add(1);
    	res.add(row1);
    	
    	for(int i = 1; i < numRows; i++){
    		array[i] = array[i - 1];
    		for(int j = i - 1; j > 0; j--){
    			array[j] += array[j - 1];
    		}
    		ArrayList<Integer> row = new ArrayList<Integer>();
    		for(int j = 0; j <= i; j++){
    			row.add(array[j]);
    		}
    		res.add(row);
    	}
        return res;
    }