剑指 Offer 38. 字符串的排列
输入一个字符串,打印出该字符串中字符的所有排列。
你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。
示例:
输入:s = "abc"
输出:["abc","acb","bac","bca","cab","cba"]
限制:
1 <= s 的长度 <= 8
dfs + set
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | class Solution { public : bool vis[8]; set<string> map; void dfs(string& s, int k, string str) { if (k == s.length()) { map.insert(str); return ; } for ( int i = 0; i < s.length(); i++) { if (vis[i]) continue ; vis[i] = 1; dfs(s, k + 1, str + s[i]); vis[i] = 0; } } vector<string> permutation(string s) { vector<string> ret; memset (vis, 0, sizeof (vis)); dfs(s, 0, "" ); for (set<string>::iterator it = map.begin(); it != map.end(); it++) { ret.push_back(*it); } return ret; } }; |
自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2019-07-19 tensorflow 前向传播 2019.07.19
2018-07-19 A Chess Game HDU - 1524 (有向图博弈)
2018-07-19 Paint Chain HDU - 3980(sg)
2018-07-19 Stone Game, Why are you always there? HDU - 2999(sg定理)
2018-07-19 Business Cards UVALive - 4384(画图看图。。)
2018-07-19 YAPTCHA UVALive - 4382(换元+威尔逊定理)
2018-07-19 Joseph's Problem UVALive - 3521(等差数列的应用)