python版:
class Solution:
def generate(self, N):
if N == 0:
return []
if N == 1:
return [[1]]
elif N == 2:
return [[1], [1, 1]]
else:
l = [[1], [1, 1]]
for i in range(2, N):
print(i)
temp_l = [1]
j = 0
while j + 1 <= len(l[i-1]) - 1:
temp_l.append(l[i-1][j] + l[i-1][j + 1])
j += 1
temp_l.append(1)
l.append(temp_l)
return l
java版,很好的一种解法
class Solution {
public List<List<Integer>> generate(int N) {
List<List<Integer>> l = new ArrayList<List<Integer>>();
ArrayList<Integer> temp_l = new ArrayList<Integer>();
for(int i=0; i<N; i++){
temp_l.add(0, 1);
for(int j=1; j<temp_l.size()-1; j++)
temp_l.set(j, temp_l.get(j)+temp_l.get(j+1));
l.add(new ArrayList<Integer>(temp_l));
}
return l;
}
}