劍指offer 27 字串的排列

2021-09-10 16:52:26 字數 962 閱讀 3583

輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。

輸入描述:

輸入乙個字串,長度不超過9(可能有字元重複),字元只包括大小寫字母。

時間限制:1秒 空間限制:32768k 熱度指數:299236

本題知識點: 字串

參考 字串全排列演算法

class

solution

void

permutationmain

(string str,

int begin,

int end,vector

&r)for

(int i=begin;i<=end;

++i)}}

void

swap

(string &str,

int i,

int j)

//交換字元

bool

isswap

(string str,

int begin,

int end)

return flag;}}

;

對於重複字元的處理採用了set集合,去除重複字串

class

solution

return r;

}void

permutationmain

(string str,

int begin,

int end)

for(

int i=begin;i<=end;

++i)

}void

swap

(string &str,

int i,

int j)

//交換字元

};

《劍指Offer》27 字串的排列

題目 27.字串的排列 知識點 字串 回溯演算法 題目描述 輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。解題思路 主要是使用回溯演算法的思想,通過遞迴從後向前將字串分為固定部分和...

劍指offer(27)字串的排列

輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。輸入描述 輸入乙個字串,長度不超過9 可能有字元重複 字元只包括大小寫字母。這題還算可以,關於全排列,有兩種解法,第一種就是遞迴全排列...

劍指offer 27 字串的排列 Python

輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。輸入描述 輸入乙個字串,長度不超過9 可能有字元重複 字元只包括大小寫字母。全排列 從n個不同元素中任取m m n 個元素,按照一定的...