题目描述
全字母句 指包含英语字母表中每个字母至少一次的句子。
给你一个仅由小写英文字母组成的字符串 sentence
,请你判断 sentence
是否为 全字母句 。
如果是,返回 true
;否则,返回 false
。
class Solution {
public boolean checkIfPangram(String sentence){
char[] chars=sentence.toCharArray();
int ans=0;
//因为最多处理26个字符,可以用二进制数字表示,二进制数字的第 i位对应字母表字符集中的第 i 个字符,(0--a,1--b,24--z)前26位存储数据类似于长度为26的数组存储数据。
for(int i=0;i<chars.length;i++){
int x=chars[i]-'a';
ans|=(1<<x);//(1<<x)相当于2的x次方,用或等于使得ans的第x位为1.
}
//判断ans的0到25位中每一位是否为1
return ans==(1<<26)-1;
}
}