题目传送: ​​https://leetcode.cn/problems/pascals-triangle/​

运行效率

Leetcode118. 杨辉三角_c++

代码如下:

class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> result = new ArrayList<>();
result.add(Arrays.asList(1));
//处理边界情况
if (numRows == 1) {
return result;
}

while (result.size() < numRows) {
//取出上一行的结果
List<Integer> list = result.get(result.size() - 1);
//用于存储本行的结果
ArrayList<Integer> curList = new ArrayList<>();
//每行的第一个元素固定是1
curList.add(1);

int left = 0;
int right = 1;
while (right < list.size()) {
Integer num1 = list.get(left);
Integer num2 = list.get(right);
curList.add(num1 + num2);
left++;
right++;
}
//每行的最后一个元素固定是1
curList.add(1);
result.add(curList);
}
return result;
}
}