293场周赛简单题

思想不难 写起来很麻烦

java写字符串的题真的好麻烦

class Solution {
    public List<String> removeAnagrams(String[] words) {
        List<String> list= new ArrayList<>();
        list.add(words[0]);
        int t = 0;
        int n = words.length;
        for(int i = 1; i < n; i ++){
            if(!f(words, t, i)){
                list.add(words[i]);
                t = i;
            }
        }
        return list;
    }

    public boolean f(String[] words, int t, int i){
        int[] a = new int[26];
        int[] b = new int[26];

        for(int j = 0; j < words[t].length(); j ++){
            a[(int)words[t].charAt(j) - 'a'] ++;
        }
        for(int j = 0; j < words[i].length(); j ++){
            b[(int)words[i].charAt(j) - 'a'] ++;
        }
        for(int k = 0 ; k < 26; k ++){
            if(a[k] != b[k]) return false;
        }
        return true;
    }
}

更多推荐