vector<int> getRow(int rowIndex) {
vector<int> row;
row.push_back(1);
if (rowIndex == 0)
{
return row;
}
row.push_back(1);
if (rowIndex == 1)
{
return row;
}
while (rowIndex >= 2)
{
vector<int>::reverse_iterator riter;
for (riter = row.rbegin(); riter != row.rend()-1; riter++)
{
*riter += *(riter+1);
}
row.push_back(1);
rowIndex--;
}
return row;
}
与Pascal's Triangle的方法类似的,后续遍历前一行,将每一元素的值置为它与左边一个元素值之和,最后在这一行末尾加上一个元素1,从而得到新的一行。