第八天| 344.反转字符串 ,541. 反转字符串II ,卡码网:54.替换数字,151.翻转字符串里的单词,卡码网:55.右旋转字符串
public void reverseString(char[] s) {int len = s.length;for (int i = 0; i < len / 2; i++) {char temp = s[i];s[i] = s[len - 1 - i];s[len - 1 - i] = temp;}}
public String reverseStr(String s, int k) {char[] chars = s.toCharArray();for (int i = 0; i < chars.length; i += 2 * k) {int l = i;int r = Math.min(i + k -1,chars.length - 1);while (l < r){char temp = chars[l];chars[l] = chars[r];chars[r] = temp;l++;r--;}}return new String(chars);}
- ac
- 第一想法就是转化为数组然后反转
- String反转写法,1h
public String replaceNumber(String s){StringBuilder sb = new StringBuilder();for (int i = 0; i < s.length(); i++) {char c = s.charAt(i);if (Character.isDigit(c)) sb.append("number"); else sb.append(c);}return sb.toString();}
- 直接用StringBuilder来追加一个个字符以及替换后的number
- tips:Character.isDigit©可以用来判断字符是否为数字字符
- String字符替换写法
public String reverseWords(String s) {String retS = "";String[] s1 = s.split(" ");for (int i = s1.length - 1; i >= 0; i--) {if ("".equals(s1[i])) continue; retS += (s1[i] + " ");}return retS.substring(0,retS.length() - 1);}