通过万岁!!!
- 题目:给你一个字符串,然后看一下这个字符串是不是包含了26个小写字母,如果都包含,则返回true,否则返回false。题目给true的情况取了一个名字,叫全字母句。
- 思路:我们定义一个数组,长度是26,如果都然后遍历字符串,然后找到对应的字符-97以后就是对应的下标,然后对数组进行加1的操作。最后如果数组还有等于0的元素,则表示存在字符不在字符串中,否则返回字符串就是全字母句。
- 技巧:字符串遍历、哈希
java代码
class Solution {
public boolean checkIfPangram(String sentence) {
if (sentence.length() < 26) {
return false;
}
int[] map = new int[26];
for (int i = 0; i < sentence.length(); i++) {
map[sentence.charAt(i) - 97]++;
}
for (int i = 0; i < 26; i++) {
if (map[i] == 0) {
return false;
}
}
return true;
}
}
- 总结:题目还是比较简单的,但是我的时间复杂度没有别特的好。