杨辉三角–Java–LeetCode
之前没做出来,今天重新掏出来,仿佛来了灵感(可能是五一这几天觉睡的足了,思维活跃)。
直接上代码:
题目:
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> YhTra = new ArrayList<List<Integer>>();
List<Integer> item = new LinkedList<>();
if (numRows<=0) {
return YhTra;
}else if (numRows==1) {
item.add(1);
YhTra.add(item);
return YhTra;
}
YhTra = generate(numRows-1);
for(int i=1;i<=numRows;i++) {
item.add(fun(numRows,i,YhTra));
}
YhTra.add(item);
return YhTra;
}
public int fun(int numRows, int i, List<List<Integer>> yhTra) {
int re = 0;
if (numRows==i||i==1) {
re = 1;
return re;
}
re = yhTra.get(numRows-2).get(i-2)+yhTra.get(numRows-2).get(i-1);
return re;
}
}
总体上的逻辑还是挺清晰的,但是具体的语句有时候比较混乱。有待改进。
欢迎各位大佬指正!!!