[LeetCode] 119. Pascal's Triangle II

来源:互联网 发布:淘宝7折代购怎么搞 编辑:程序博客网 时间:2024/06/15 01:32

【原题】
Given an index k, return the kth row of the Pascal’s triangle.

For example, given k = 3,
Return [1,3,3,1].

【解释】
要求返回杨辉三角的第k行
【思路】
思路一、 我们知道杨辉三角其实是多项式展开的系数,所以可以利用组合数的方法来求得每一个元素的值,元素的个数为k+1,但个人认为不太elegant。
思路二、通过模拟杨辉三角的过程来得到目标,很巧妙,参考这里

   List<Integer> list=new ArrayList<Integer>();            for(int i=0;i<=rowIndex;i++){                list.add(0, 1);//每次添加一个1,总共rowIndex+1个元素                for(int j=1;j<list.size()-1;j++){                    list.set(j,list.get(j)+list.get(j+1));//从第1个元素修改,为当前和后面元素之和,很巧妙                 }            }            return list;