
- 获取上一个链表
- 复制一份上一个链表A,在最前面加一个0
- 复制一份上一个链表B,在最后面加一个0
- 每个下标相同的位置相加
- 放入新链表中,得到对应的值
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> resList = new ArrayList<List<Integer>>();
ArrayList<Integer> curList = new ArrayList<>();
curList.add(1);
resList.add(curList);
while (numRows > 1) {
Integer indexInteger = resList.size() - 1;
List<Integer> last = resList.get(indexInteger);
List<Integer> tempLast = new ArrayList<>();
List<Integer> tempLast1 = new ArrayList<>();
for (int i = 0; i < last.size(); i++) {
tempLast.add(last.get(i));
tempLast1.add(last.get(i));
}
tempLast.add(0);
tempLast1.add(0, 0);
for (int i = 0; i < tempLast.size(); i ++) {
int preVal = tempLast1.get(i);
int nextVal = tempLast.get(i);
tempLast.set(i,preVal + nextVal);
}
resList.add(tempLast);
numRows--;
}
return resList;
}
}