int length = str.length(); // System.out.println("length=" + length); StringBuffer result = new StringBuffer(); for (int i = 0; i < length; i++) { char b = str.charAt(i); if (String.valueOf(b).equals(" ")) { result.append("%20"); } else { result.append(b); } } return result.toString();
// 如果检查值不合法及就返回空串 if (!checkStrs(strs)) { return""; } // 数组长度 int len = strs.length; // 用于保存结果 StringBuilder res = new StringBuilder(); // 给字符串数组的元素按照升序排序(包含数字的话,数字会排在前面) Arrays.sort(strs); int m = strs[0].length(); int n = strs[len - 1].length(); int num = Math.min(m, n); for (int i = 0; i < num; i++) { if (strs[0].charAt(i) == strs[len - 1].charAt(i)) { res.append(strs[0].charAt(i)); } else break;
} return res.toString();
}
privatestaticbooleancheckStrs(String[] strs){ if (strs != null) { // 遍历strs检查元素值 for (int i = 0; i < strs.length; i++) { if (strs[i] == null || strs[i].length() == 0) { returnfalse; } } } returntrue; }
public String longestPalindrome(String s){ if (s.length() < 2) return s; for (int i = 0; i < s.length() - 1; i++) { PalindromeHelper(s, i, i); PalindromeHelper(s, i, i + 1); } return s.substring(index, index + len); }
publicvoidPalindromeHelper(String s, int l, int r){ while (l >= 0 && r < s.length() && s.charAt(l) == s.charAt(r)) { l--; r++; } if (len < r - l - 1) { index = l + 1; len = r - l - 1; } } }
publicstaticintStrToInt(String str){ if (str.length() == 0) return0; char[] chars = str.toCharArray(); // 判断是否存在符号位 int flag = 0; if (chars[0] == '+') flag = 1; elseif (chars[0] == '-') flag = 2; int start = flag > 0 ? 1 : 0; int res = 0;// 保存结果 for (int i = start; i < chars.length; i++) { if (Character.isDigit(chars[i])) {// 调用Character.isDigit(char)方法判断是否是数字,是返回True,否则False int temp = chars[i] - '0'; res = res * 10 + temp; } else { return0; } } return flag == 1 ? res : -res;
}
publicstaticvoidmain(String[] args){ // TODO Auto-generated method stub String s = "-12312312"; System.out.println("使用库函数转换:" + Integer.valueOf(s)); int res = Main.StrToInt(s); System.out.println("使用自己写的方法转换:" + res);
评论