Leecode刷題筆記 46 全排列

2021-10-04 07:36:06 字數 958 閱讀 4134

題目要求:給定乙個 沒有重複 數字的序列,返回其所有可能的全排列。

示例:輸入: [1,2,3] 輸出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1],

[3,1,2], [3,2,1] ]

思路如下:

1、全排列需要遍歷所有元素得出所有方案,可以考慮dfs+回溯的思路解題

2、需要注意的是

list.

add(

newarraylist

<

>

(sublist)

);

為什麼不是

list.

add(sublist)

;

這是因為,sublist只是乙個引用,最後會指向sublist所在的物件空間,而回溯之後

回到了根節點,而根節點已經為空,因此需要拷貝乙份sublist。

class

solution

helper

(nums,list,

newarraylist

<

>()

);return list;

}public

void

helper

(int

nums,list

> list,list

sublist)

for(

int i=

0;i) sublist.

add(nums[i]);

helper

(nums,list,sublist)

; sublist.

remove

(sublist.

size()

-1);

}}}

LeeCode刷題筆記

本來想在leecode題目頁面上做注釋的,結果沒找到位置,只好來這裡了 字串部分 14.最長公共字首 編寫乙個函式來查詢字串陣列中的最長公共字首。示例 1 輸入 flower flow flight 輸出 fl 自己做法 取第乙個string first,然後比較後面每個string的第 i 個元素...

LeeCode刷題筆記 1

1.twosum 從今天開始好好刷題吧 此題用雜湊表即可求解,依題意不必在雜湊表建好之後進行尋找,而是在建表的同時進行尋找 這裡使用了乙個庫 注意即使題目說明了一定會有解,但是函式中還是要在無解的情況下返回乙個值 我的測試 如下 include include includeusing namesp...

LeeCode 刷題總結

嘗試思考10 20分鐘,如果想不到方案就去看答案。補充知識點。easy階段每天12道,medium8道,hard2 4道。優先按照tag做題,總結規律 如果使用了全域性變數,需要在函式入口處初始化一下,否則會有問題。自驗證能過,提交不能過 二叉樹查詢二叉樹的中序遍歷是公升序的。數字奇偶性,奇數只能被...