字符串的排列
来源:互联网 发布:手机淘宝6.6.0版本 编辑:程序博客网 时间:2024/06/09 15:03
Description:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
import java.util.ArrayList;import java.util.Arrays;public class Solution { public ArrayList<String> Permutation(String str) { char[] ch = str.toCharArray(); Arrays.sort(ch); ArrayList<String> list = new ArrayList<>(); if (str == null || str.length() <= 0) return list; StringBuilder s = new StringBuilder(); boolean[] vis = new boolean[ch.length]; backtrack(list, s, ch, vis, ch.length); return list; } public void backtrack(ArrayList list, StringBuilder s, char[] ch, boolean[] vis, int n) { if (s.length() == n) { list.add(s.toString()); return ; } for (int i = 0; i < n; i++) if (!vis[i]){ if (i > 0 && ch[i] == ch[i-1] && !vis[i-1]) continue; s.append(ch[i]); vis[i] = true; backtrack(list, s, ch, vis, n); s.deleteCharAt(s.length() - 1); vis[i] =false; } }}
阅读全文
0 0
- 字符串的全排列
- 字符串的全排列
- 转载 字符串的排列
- 字符串的排列--总结
- 字符串的排列
- 字符串的全排列
- 字符串的排列
- 53.字符串的排列
- 字符串的全排列
- 字符串的全排列
- 字符串的全排列
- 字符串的全排列
- 字符串的排列
- 字符串的排列
- 字符串的排列
- 字符串的倒序排列
- 字符串的全排列
- 字符串的排列
- Ubuntu python虚拟环境
- Vue2 方法methods和事件修饰符
- Tarjan算法
- 如何实现Android应用程序间的交互
- 自定义线程安全的队列
- 字符串的排列
- echarts中,y轴文本倾斜
- Android--dpi,dp与px对应关系及换算
- Hibernate之映射
- HDU
- scrollTop 用法说明
- 以前章鱼保罗做的预测,现在有企业专门在做了~
- Linux 使用openssl 搭建openca
- JS获取页面所有元素