Java 顺序表实现杨辉三角思路与代码

杨辉三角作为经典的数学与编程结合案例,是理解二维数组和动态列表操作的绝佳素材。我们将从逻辑拆解、问题分析等角度进行解析,彻底掌握其实现精髓。
一、思路分析

杨辉三角的核心规律在于:每一行的数字都是上一行两个相邻数字之和。第一列和最后一列固定为 1。
在实现时,我们可以创建一个二维列表 List<List<Integer>> 来存储整个三角结构。外层循环控制行数 i(从 0 到 numRows),内层循环处理列数 j(小于 i)。
具体逻辑如下:
- 每一行的第一个元素和最后一个元素直接赋值为 1。
- 中间的元素通过上一行相邻的两个元素相加得到,即
preRow.get(j) + preRow.get(j - 1)。

二、代码实现
这里使用 Java 的 ArrayList 来实现动态列表。注意导入必要的包,并确保类结构完整。
import java.util.ArrayList;
import java.util.List;
public class Test {
public List<List<Integer>> generate(int numRows) {
// 定义最终返回的二维列表
List<List<Integer>> ret = new ArrayList<>();
// 处理第 0 行,直接添加 [1]
if (numRows == 0) return ret;
List<Integer> list0 = new <>();
list0.add();
ret.add(list0);
( ; i < numRows; i++) {
List<Integer> curRow = <>();
curRow.add();
List<Integer> preRow = ret.get(i - );
( ; j < i; j++) {
preRow.get(j) + preRow.get(j - );
curRow.add(x);
}
curRow.add();
ret.add(curRow);
}
ret;
}
}


