public ArrayList<Integer> getRow(int rowIndex) {

    ArrayList<Integer> result = new ArrayList<Integer>();
    if (rowIndex < 0) {
      return result;
    }
    if (rowIndex == 0) {
      result.add(1);
      return result;
    }

    ArrayList<Integer> prev = getRow(rowIndex - 1);
    result.add(1);
    
    // point
    for (int i = 0 ; i < prev.size() - 1 ; i++) {
      result.add(prev.get(i) + prev.get(i + 1));
    }
    result.add(1);

    return result;
  }