手撕代码全集(字符串)
主要记录碰到的代码,更多见
字符串的空格替换为%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项目控制台中文乱码