代码实现
思路很简单,直接贴代码
import java.util.List;
import static java.lang.Integer.min;
class Solution {
public List<String> commonChars(String[] A) {
int len = A.length;
int[] cnt = new int[30];
Arrays.fill(cnt, Integer.MAX_VALUE);
for(String s : A) {
int[] op = new int[30];
for(int j = 0; j < s.length(); j ++ ) {
char ss = s.charAt(j);
op[(int)(ss - 'a')] ++ ;
}
for(int k = 0; k < 26; k ++ ) {
cnt[k] = min(cnt[k], op[k]);
}
}
List<String> ans = new ArrayList<String>();
for(int i = 0; i < 26; i ++ ) {
while(cnt[i] > 0) {
cnt[i] --;
ans.add(String.valueOf((char) (i + 'a')));
}
}
return ans;
}
}
学到的新东西
length
和length()
的区别- length方法用于获取数组的长度
- length()用于获取字符串中字符的个数
- 将值赋给数组中的所有元素
Arrays.fill(cnt, Integer.MAX_VALUE);
- 新建一个
List<String>
对象
List<String> ans = new ArrayList<String>();
- 在
List<String>
中增加char型变量
ans.add(String.valueOf((char) (i + 'a')));