[剑指Offer] 27.字符串的排列
2024-08-29 00:04:28
【思路】从第一位开始,判断每一位字符的所有可能性,依此递归。
class Solution
{
public:
void PermutationHelp(vector<string> &ans, int k, string str) //遍历第k位的所有可能
{
if(k == str.length() - )
ans.push_back(str);
set<char> S;//记录出现过的字符
sort(str.begin() + k, str.end());//保证按字典序输出
for(int i = k; i < str.length(); i++)
{
if(S.find(str[i]) == S.end()) //只和没交换过的换
{
S.insert(str[i]);
swap(str[i], str[k]);
PermutationHelp(ans, k + , str);
swap(str[i], str[k]);//复位
}
}
}
vector<string> Permutation(string str)
{
vector<string> ans;
PermutationHelp(ans, , str);
return ans;
}
};
最新文章
- How to Delete XML Publisher Data Definition Template
- codeblocks+Mingw 下配置开源c++单元测试工具 google test
- row_number() over order by与利用rownum查询分页效率分析
- ViewPage显示Fragment集合实现左右滑动并且出现tab栏--第三方开源--SlidingTabLayout和SlidingTabStrip实现
- IOS 时间 日历 处理集合
- Android Environment 判断sd卡是否挂载 获取sd卡目录
- [C++程序设计]对“&;”和“*”运算符
- QT在Windows控制台下输出
- 读 Working with forms 一些心得
- SAP CRM 为用户创建业务合作伙伴并分配到组织单位
- Java客户端调用.NET的WebService
- Mybatis(二)参数(Parameters)传递
- 「mysql优化专题」主从复制面试宝典!面试官都没你懂得多!(11)
- Android开发之漫漫长途 XIV——RecyclerView
- 将分支推送到远程存储库时遇到错误: Git failed with a fatal error. TaskCanceledException encountered.
- Android L2TP Client Setup
- httpd配置
- make_blobs
- Count the Sheep 思维题
- C# Excel To DataTable