题目描述

输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。

解题思路

参考

class Solution {
public:vector<string> result;vector<string> Permutation(string str) {if(str.length() == 0) return result;perfunc(str, 0);sort(result.begin(), result.end());return result;}void perfunc(string str, int loc){if(loc==str.length()){result.push_back(str);return;}for(int i=loc; str[i]!='\0'; i++){if(i!=loc && str[loc]==str[i]) continue;swap(str[loc], str[i]);perfunc(str, loc+1);swap(str[loc], str[i]);}}void swap(char &fir,char &sec){char temp = fir;fir = sec;sec = temp;}
};

剑指offer 28:字符串的排列相关推荐

  1. 【LeetCode】剑指 Offer 38. 字符串的排列

    [LeetCode]剑指 Offer 38. 字符串的排列 文章目录 [LeetCode]剑指 Offer 38. 字符串的排列 package offer;import java.util.Hash ...

  2. ++递归 字符串全排列_剑指 Offer 38. 字符串的排列

    剑指 Offer 38. 字符串的排列 输入一个字符串,打印出该字符串中字符的所有排列. 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素. 示例: 输入:s = "abc" ...

  3. LeetCode——剑指 Offer 38. 字符串的排列

    剑指 Offer 38. 字符串的排列 题目 输入一个字符串,打印出该字符串中字符的所有排列.你可以以任意顺序返回这个字符串数组,但里面不能有重复元素.示例:输入:s = "abc" ...

  4. 剑指 Offer 38. 字符串的排列

    import java.util.ArrayList; import java.util.HashSet; import java.util.List;/*** 剑指 Offer 38. 字符串的排列 ...

  5. 【击败时间100%】剑指 Offer 38. 字符串的排列

    立志用最少的代码做最高效的表达 输入一个字符串,打印出该字符串中字符的所有排列. 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素. 示例: 输入:s = "abc" 输出 ...

  6. 剑指Offer之字符串的排列

    题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述 输入 ...

  7. [剑指offer] 27. 字符串的排列

    题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输 ...

  8. 剑指OFFER之字符串的排列(九度OJ1369)

    2019独角兽企业重金招聘Python工程师标准>>> 题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来 ...

  9. 《剑指offer》字符串的排列

    题目:输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一 ...

  10. 【剑指offer】字符串的排列

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/26390551 题目描写叙述: 输入一个字符串,按字典序打印出该字符串中字符的全部排列. 比 ...

最新文章

  1. 计算机学院杨洋,美国莱特州立大学吴志强教授访问计算机科学与技术学院
  2. 云原生网关开源、自研、商业化三位一体战略背后的思考
  3. 关于java.net.URLEncoder.encode编码问题
  4. python web框架 多线程_Django基础知识 web框架的本质详解
  5. 贝叶斯软件genle教程_一文读懂蒙特卡罗方法和应用贝叶斯推理
  6. JDK1.8 String常量池详解
  7. 解决maven项目没有Maven Dependencies
  8. Creative Audigy 2 ZS
  9. PS大神最全脑洞合集
  10. JAVA中InputStream转base64
  11. excel筛选排序从小到大_EXCEL表格数据从小到大-Excel如何从小到大排列顺序
  12. EXTJS记事本:当CompositeField遇上RowEditor
  13. 2003服务器密码怎么修改密码,2003服务器设置密码
  14. 互联网创业者必备的十种思维
  15. Stardust AS3粒子引擎
  16. JACK——TeamsMaual6 Team Formation
  17. 【AdaBoost算法】
  18. 用聚合数据苏州实时公交API写的微信小程序
  19. Vue:如何保持导航栏的高亮状态
  20. Python:人民币兑换

热门文章

  1. ecshop /pick_out.php SQL Injection Vul By Local Variable Overriding
  2. 登白云嶂,银屏嘴游记
  3. Tizen SDK 1.0 Larkspur 安装指南(ubuntu)
  4. boost Release 1.47.0
  5. java 修改wav文件头_使用Java聲音API從WAV文件中修剪開頭和結尾
  6. html 重置画布坐标系,html5清空画布方法(三种)
  7. LightGBM和XGBoost使用scale_pos_weight处理不平衡数据源码分析
  8. 保存csv时, 不保留index
  9. 橘子CPS联盟小程序操作手册2.0
  10. 《因果科学周刊》第3期:因果助力 Stable Learning