讨论/《数组和字符串》 - 杨辉三角/
《数组和字符串》 - 杨辉三角
public List<List<Integer>> generate(int numRows) {
    List<List<Integer>> result = new ArrayList<>();
    List<Integer> rowItems = new ArrayList<>();
    if (numRows == 1) {
      rowItems.add(1);
      result.add(rowItems);
      return result;
    }

    for (int i = 1; i <= numRows; i++) {
      rowItems = new ArrayList<>();
      for (int j = 0; j <= i - 1; j++) {
        if (j == 0 || j == i - 1) {
          rowItems.add(1);
        } else {
          List<Integer> rowValues = result.get(i - 2);
          Integer leftVal = rowValues.get(j - 1);
          Integer rightVal = rowValues.get(j);
          rowItems.add(leftVal + rightVal);
        }
      }
      result.add(rowItems);
    }

    return result;
}
展开全部 14 讨论