# Leetcode Pascal's Triangle II problem solution

In this Leetcode Pascal's Triangle II problem solution we have Given an integer rowIndex, return the rowIndexth (0-indexed) row of Pascal's triangle. In Pascal's triangle, each number is the sum of the two numbers directly above it.

## Problem solution in Python.

```class Solution:
def getRow(self, rowIndex: int) -> List[int]:
if rowIndex == 0:
return [1]
if rowIndex == 1:
return [1, 1]
if rowIndex == 2:
return [1, 2, 1]

ans = [1] * (rowIndex + 1)
prev = [1, 2, 1]

for i in range(3, rowIndex + 1):
for j in range(1, i):
ans[j] = prev[j] + prev[j - 1]
prev = ans[:]

return ans
```

## Problem solution in Java.

```public List<Integer> getRow(int rowIndex) {
List<Integer> result = new ArrayList<>();

if(rowIndex==0) return result;

List<Integer> prev = getRow(rowIndex-1);
for(int i=0; i<prev.size()-1;i++){
}

return result;
}
```

## Problem solution in C++.

```class Solution {
public:
vector<int> getRow(int rowIndex) {
++rowIndex;
std::vector<int> res(rowIndex, 1);
for(int i{1}; i < rowIndex; ++i) res[i] = (int64_t) res[i-1] * (rowIndex-i) / i;
return res;
}
};
```

## Problem solution in C.

```int* getRow(int rowIndex, int* returnSize) {
int *result = malloc((rowIndex + 1) * sizeof(int));
int i, j, new, old = 1;

*returnSize = rowIndex + 1;

for (i = 0; i <= rowIndex; i++) {
result[i] = 1;
for (j = 1; j < i; j++) {
new = result[j];
result[j] += old;
old = new;
}
}

return result;
}
```