日野弥生:勉強しよう
LeetCode 119 - 杨辉三角 II
发表于2025年01月06日
根据杨辉三角的每行数据的个数都等于行数的数学设定,确定向量的长度。其次,如果是前两行数据,进行特殊处理。 经过观察发现从第一个数字累加到倒数第二个数字的和,构成倒数第二个数字的结果,以此递推可以求出非边界的所有数据。 利用快慢指针的思想,慢指针在快指针和首位数字之间不断递增,只到双指针相遇后,重新递增。 循环体的条件在于快指针是否返回到第一个数字。
class Solution {
public:
vector<int> getRow(int rowIndex)
{
vector<int> result(rowIndex+1,1);
if(rowIndex<2)
return result;
int i=1,j=rowIndex;
while(j>1)
{
result[i]+=result[i-1];
i++;
if(i==j)
{
j--;
i=1;
}
}
return result;
}
};