日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

面试题28 字符串排列

發(fā)布時(shí)間:2023/11/30 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面试题28 字符串排列 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目描述

輸入一個(gè)字符串,按字典序打印出該字符串中字符的所有排列。例如輸入字符串a(chǎn)bc,則打印出由字符a,b,c所能排列出來(lái)的所有字符串a(chǎn)bc,acb,bac,bca,cab和cba。 結(jié)果請(qǐng)按字母順序輸出。?
輸入描述:
輸入一個(gè)字符串,長(zhǎng)度不超過(guò)9(可能有字符重復(fù)),字符只包括大小寫字母。 1 class Solution { 2 public: 3 vector<string> v; 4 5 void swap(char *a, char *b){ 6 char temp = *a; 7 *a = *b; 8 *b = temp; 9 } 10 11 void AllRange(int k, int n, string str){ 12 if (k >= n) 13 v.push_back(str); 14 else{ 15 for (int i = k; i < n; i++){ 16 swap(&str[k], &str[i]); 17 AllRange(k + 1, n, str); 18 swap(&str[k], &str[i]); 19 } 20 } 21 } 22 23 vector<string> Permutation(string str) { 24 if (str.length() != 0){ 25 AllRange(0, str.length(), str); 26 sort(v.begin(),v.end()); 27 vector<string>::iterator iter = unique(v.begin(),v.end()); 28 if(iter != v.end()) 29 v.erase(iter,v.end()); 30 } 31 return v; 32 } 33 };

?

轉(zhuǎn)載于:https://www.cnblogs.com/wanderingzj/p/5357429.html

總結(jié)

以上是生活随笔為你收集整理的面试题28 字符串排列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。