java 字符串排列_Java实现字符串的全排列
标签:全排列package com.leetcode;
import java.util.ArrayList;
public class Permutation {
public static void main(String[] args) {
ArrayList res = perms2("abc");
System.out.println(res);
}
//法一:
public static ArrayList perms1(String s){
ArrayList res = new ArrayList();
if(s == null)
return null;
if(s.isEmpty()){
res.add("");
return res;
}
for(int i = 0; i < s.length(); i++){
char c = s.charAt(i);
String start = s.substring(0, i);
String end = s.substring(i + 1);
ArrayList words = perms1(start + end);
for(String word : words){
String newStr = c + word;
res.add(newStr);
}
}
return res;
}
//法二:
public static ArrayList perms2(String s){
ArrayList res = new ArrayList();
if(s == null)
return null;
if(s.isEmpty()){
res.add("");
return res;
}
char c = s.charAt(0);
String reminder = s.substring(1);
ArrayList words = perms2(reminder);
for(String word : words){
for(int i = 0; i <= word.length(); i++){
String newStr = insertCharAt(word, c, i);
res.add(newStr);
}
}
return res;
}
public static String insertCharAt(String s, char c, int i){
String start = s.substring(0, i);
String end = s.substring(i);
return start + c + end;
}
}
标签:全排列
原文:http://blog.csdn.net/hjiam2/article/details/38986151
java 字符串排列_Java实现字符串的全排列相关推荐
- java 字符串总结_Java中字符串(String)总结
先说说JDK API: JDK中包含大量的API类库,所谓API(Application Programming Interface,应用程序编程接口,这些功能以类的形式封装). JDK API包含的 ...
- java 字符串用法_java中字符串的用法
1.String中的每个字符都是一个16位的Unicode字符,用Unicode很容易表达丰富的国际化字符集,比如很好的中文支持.甚至Java的标识符都可以用汉字,但是没人会用吧(只在一本清华的< ...
- java字符串操作_Java的字符串操作
Java的字符串操作 小型送分题:Java有字符串(String),StringBuffer(字符串缓存),StringBuilder(字符串建造者?)各种实现,究其原因还是历史上的各种坑. 一.不同 ...
- java calendar字符串显示_java关于字符串和日期的代码展示
StringBuffer是线性安全的,StringBuilder不是线性安全的 字符串的修改: stringBudile与stringBuiler提供了用于修改字符串内容的相关方法 String st ...
- java split 数字_java截取字符串,截串,substring和split,分割字母和数字,正则缝隙...
需求,把"01:大汽车",分成01和大汽车 有两种做法:一是substring Java代码 1 packagetest;2 3 public classsubstringTest ...
- java 字符串截取_java截取字符串,截串,substring和split,分割字母和数字,正则缝隙...
需求,把"01:大汽车",分成01和大汽车 有两种做法:一是substring package test; public class substringTest { public ...
- java遍历字符串字符_Java 遍历字符串中所有字符的最快方法
小编典典 在我的AMDx64 8core和源1.8上,使用'charAt'和字段访问之间没有区别.看来jvm已经过充分优化,可以内联和精简任何'string.charAt(n)'调用. 这完全取决于S ...
- java中字符串函数_JAVA中字符串函数subString的用法小结
string str;str=str.substring(int beginindex);截取掉str从首字母起长度为beginindex的字符串,将剩余字符串赋值给str: str=str.subs ...
- java字符串学习_java之字符串学习记录
java之字符串学习记录 public class StringDemo { public static void main(String[] args) { //静态初始化字符串 String s1 ...
最新文章
- 计算机科学技术作文600,生活因科技而精彩作文600字
- python学习之路基础篇(第四篇)
- 面试Nginx的几个常见问题(
- 驱动进化之路:总线设备驱动模型
- 用逻辑门制作出加法器
- php5.6.30环境报错Call to undefined function ImageCreate() 编译安装 gd库
- 【ARM-Linux开发】内核3.x版本之后设备树机制
- tensorflow随笔-二分法求解一元方程
- 凄怆与悲凉(灾区现场最新照片)
- 【CodeForces - 144C】Anagram Search(尺取,滑窗问题,处理字符串计数)
- 编译安装freeswitch-1.4.26
- boobooke播布客
- 宠物商店电子商务系统er图
- 平面弧长极坐标公式的疑问
- def序列化器---视图序列化反序列化
- pathon和c语言的区别
- 绝地求生亚服服务器维护,绝地求生亚服维护时间
- git clone时遇到问题:remote: Incorrect username or password ( access token )
- 面试百问:如何提高自动化测试脚本稳定性
- 奥运了,愿明天会更好