leetcode 5234. 移除字母异位词后的结果数组(java)
·
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;
}
}
更多推荐
所有评论(0)