151. 反转字符串中的单词
s = s.trim();先清除前后空格
String[] sb = s.split(" ");
StringBuilder ans = new StringBuilder();
for(int i = sb.length - 1; i > 0; i--) {
if(sb[i] == "") continue;小心有空白
ans.append(sb[i]).append(" ");
}
ans.append(sb[0]);后面不用加空格,单独出来
return ans.toString();
205. 同构字符串
if(s.length() != t.length()) return false;
Map<Character, Character> map = new HashMap<>();
for(int i = 0; i < s.length(); i++) {
if(!map.containsKey(s.charAt(i))) {有吗,没有就加入
if(map.containsValue(t.charAt(i))) {没有key,但是值早已包含了,证明存在异
return false;
}
map.put(s.charAt(i), t.charAt(i));
}else {有的话就判断一下
if(map.get(s.charAt(i)) != t.charAt(i)) {
return false;
}
}
}
return true;
125. 验证回文串
s = s.toLowerCase();先小写化
StringBuilder ans = new StringBuilder();
for(char ch : s.toCharArray()) {得到判断的串
if((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z')) {
ans.append(ch);
}
}
return ans.toString().equals(ans.reverse().toString());正着和倒着比较一下