剑指offer:字符串的排列
来源:互联网 发布:sdr软件无线电 编辑:程序博客网 时间:2024/05/17 07:24
题目描述
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
输入描述:
输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。
方法1:
import java.util.ArrayList;import java.util.TreeSet;public class Solution { public ArrayList<String> Permutation(String str) { ArrayList<String> strList=new ArrayList<>(); if(str==null||str.length()==0)return strList; char []chars=str.toCharArray(); TreeSet<String> temp=new TreeSet<String>(); Permutation(chars,0,temp); strList.addAll(temp); return strList; } public void Permutation(char []chars,int begin,TreeSet<String> result){ if(chars==null||chars.length==0||begin<0||begin>chars.length-1)return; if(begin==chars.length-1) result.add(String.valueOf(chars)); else{ for(int i=begin;i<chars.length;i++){ swap(chars,begin,i); Permutation(chars,begin+1,result); swap(chars,begin,i); } } } public void swap(char []chars,int a,int b){ char t=chars[a]; chars[a]=chars[b]; chars[b]=t; }}
阅读全文
0 0
- 【剑指offer】字符串的排列
- 剑指offer--字符串的排列
- 《剑指offer》字符串的排列
- 【剑指Offer】字符串的排列
- 剑指offer--字符串的排列
- 剑指offer:字符串的排列
- 剑指offer:字符串的排列
- 剑指offer:字符串的排列
- [剑指offer]字符串的排列
- 《剑指offer》-字符串的排列
- 剑指offer|字符串的排列
- 【剑指offer】字符串的排列
- 《剑指offer》字符串的排列
- 剑指Offer:字符串的排列
- 【剑指offer】字符串的排列
- 剑指offer-字符串的排列
- 剑指offer 字符串的排列
- 剑指offer 字符串的排列
- 支持IE8及以下的,原生JS数组迭代的五种方法
- Ajax中通过response在后台传递数据
- 回文字符串
- 万字长文|如何直观解释卷积神经网络的工作原理?
- 嵌入式开发板C语言编写之从触摸屏与网络编程不同线程文件描述符的读取
- 剑指offer:字符串的排列
- 这里是通过QQ邮箱 sina新浪邮箱 163邮箱的简单发送Email
- eclipse项目导入到intellij中
- php面向对象(OOP)编程完全教程
- Python性能测试调优
- springboot【13】数据访问之整合Mybatis
- 穷举,百鸡问题
- 快速统计二进制中1的个数
- Jenkins 配置 -1 (安装+ssh配置)