leetcode刷題 楊輝三角2
阿新 • • 發佈:2020-12-28
技術標籤:leetcode刷題
這一次的問題我本來以為照抄上一次的內容就能做出來,然後發現對上一版的改動還挺大的。主要就是遞迴的使用,以及遞迴程式碼出現的位置。
class Solution { public List<Integer> getRow(int rowIndex) { List<Integer> resList = new ArrayList<Integer>(); List<Integer> beforeList = new ArrayList<Integer>();//上一行的記錄 if(rowIndex == 0) { resList.add(1); return resList; } if(rowIndex == 1) { resList.add(1); resList.add(1); return resList; } //遞迴程式碼的出現位置不要放在迴圈之中,放在之外 beforeList = getRow(rowIndex - 1); for(int i = 1;i < rowIndex ; i++) { resList.add(beforeList.get(i-1) + beforeList.get(i)); } //首尾加1 resList.add(0, 1); resList.add(resList.size(), 1); return resList; } }