您的位置:首页 > 编程语言 > Java开发

LeetCode:Pascal's Triangle

2014-03-28 20:18 302 查看
Given numRows, generate the first numRows of Pascal's triangle.

For example, given numRows = 5,

Return
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]


生成杨辉三角,一行中除了两边的数字为1以外,该数等于两肩数字之和,循环生成最终结果。

public class Solution {
public ArrayList<ArrayList<Integer>> generate(int numRows) {
ArrayList<ArrayList<Integer>> list=new ArrayList<ArrayList<Integer>>();
int count=0;
if(numRows==0)return list;
ArrayList<Integer> inner1List=new ArrayList<Integer>();
inner1List.add(1);
list.add(inner1List);
for(count=2;count<=numRows;count++)
{
ArrayList<Integer> innerList=new ArrayList<Integer>();
ArrayList<Integer> preList=list.get(count-2);
for(int i=0;i<count;i++)
{
if(i==0 || i==count-1){innerList.add(1);continue;}
innerList.add(preList.get(i-1)+preList.get(i));
}
list.add(innerList);
}
return list;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息