手撕代码全集(字符串)
主要记录碰到的代码,更多见
字符串的空格替换为%20
public static String replaceBlank(String str){
StringBuffer sb = new StringBuffer();
for(int i = 0; i < str.length(); i++){
if(str.charAt(i) == " "){
sb.append("%20");
}else{
sb.append(str.charAt(i));
}
}
return sb.toString();
}
输出给定所有字符的所构成的字符串组合
//传入的HashSet<String>作为最后String的去重容器:如:chars = {a,a,c}有重复字符;
public static void getAllString(char[] chars, HashSet<String> set){
if(chars != null && chars.length >= 1){
getString(chars, 0, chars.length-1, set);
}
}
public static void getString(char[] chars, int start, int end, HashSet<String> set){
if(start == end){
set.add(chars.toString());
}else{
char temp = null;
for(int i = start; i <= end; i++){
temp = chars[i];
chars[i] = chars[start];
chars[start] = temp;
getString(chars, start+1, end, set);
temp = chars[i];
chars[i] = chars[start];
chars[start] = temp;
}
}
}
上一篇:
IDEA上Java项目控制台中文乱码
