字符串代码优化

95 阅读1分钟

1. 单个空格的字符串分割:(不含有前导与后缀空格, 单词之间最多一个空格)

String s = "hello world";
String[] s1 = s.split(" ");

2. 寻找字符串中的有效单词(包括字符串转字符数组后逆置, 字符数组join拼接)

String s = "  hello   world  ";
s = s.trim();
// 正则匹配连续的空白字符作为分隔符分割
List<String> wordList = Arrays.asList(s.split("\\s+"));
Collections.reverse(wordList);
return String.join(" ", wordList);

3. 可以使用考虑数组代替哈希表提高效率

4. 考虑增强for遍历字符串转字符数组

    public boolean isAnagram(String s, String t) {
        if(s.length() != t.length()) return false;
        int[] cnt = new int[26];
        for(char c : s.toCharArray()) ++cnt[c - 'a'];
        for(char c : t.toCharArray()) {
            if(--cnt[c - 'a'] < 0) return false; 
        }
        return true;
    }