劍指之字串的排列

2021-10-07 13:09:52 字數 877 閱讀 2719

題目描述:

輸入乙個字串,列印出該字串中字元的所有排列。

你可以以任意順序返回這個字串陣列,但裡面不能有重複元素。

示例:

輸入:s = 「abc」

輸出:[「abc」,「acb」,「bac」,「bca」,「cab」,「cba」]

題目分析:

題目分析

private

char

c;private list

res;

public string[

]permutation

(string s)

; res =

newlinkedlist

<

>()

; c = s.

tochararray()

;dfs(0

);return res.

toarray

(new

string

[res.

size()

]);//將字串列表list轉換為string陣列

}public

void

dfs(

int x)

setset =

newhashset

<

>()

;for

(int i = x; i < c.length; i++)}

public

void

swap

(int i,

int j)

劍指Offer之字串全排列

題目 輸入乙個字串,列印出該字串中字元的所有排列。你可以以任意順序返回這個字串陣列,但裡面不能有重複元素 輸入 s abc 輸出 abc acb bac bca cab cba class solution for int j i j變形二 列印字串的所有子串行 public class demo2...

劍指 字串全排列

輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。輸入乙個字串,長度不超過9 可能有字元重複 字元只包括大小寫字母。思路 遞迴法,問題轉換為先固定第乙個字元,求剩餘字元的排列 求剩餘字...

劍指Offer 字串排列

題目描述 輸入乙個字串,列印出該字串中字元的所有排列。解析 step 1 求所有可能出現第乙個位置的字元。把第乙個字元與後面的每個字元交換。step 2 固定第乙個字元,將後面的字元利用遞迴進行全排列。include include using namespace std void stringpe...