520. Detect Capital
程序员文章站
2022-03-09 22:38:03
...
bool detectCapitalUse(string word) {
int sum=0,i=0;
for(;i<word.size();i++){
if(word[i]>='A'&&word[i]<='Z'){
sum++;
if(sum==1){
if(i!=0)
return false;
}else{
if(sum!=i+1)
return false;
}
}
}
if(sum>1&&sum!=i)
return false;
return true;
}
j记录最后一个大写字母的位置,判断是否为0,为0返回true,否则返回false。
bool detectCapitalUse(string word) {
int sum=0,i=0,j;
for(;i<word.size();i++){
if(word[i]>='A'&&word[i]<='Z'){
sum++;
j=i;
}
}
if(!sum||sum==word.size()||sum==1&&j==0) return true;
return false;
}
更简洁的代码
bool detectCapitalUse(string word) {
int i=0,sum=0,n=word.size();
for(;i<n;i++)
if(word[i]<='Z')
sum++;
if(!sum||sum==word.size()||sum==1&&word[0]<='Z')
return true;
return false;
}
使用STL内置的count_if函数
bool detectCapitalUse(string word) {
int cnt=count_if(word.begin(),word.end(),[](char c){return c<='Z';});
return cnt==0||cnt==word.size()||cnt==1&&word[0]<='Z';
}
推荐阅读
-
C# detect latest .net framework installed on PC
-
“骑电单车”再获千万美金A+轮融资,KYMCO Capital领投
-
安全创企Virtru获3700万美元B轮融资 Iconiq Capital领投
-
详解PHP中的mb_detect_encoding函数使用方法
-
PHP: Browser, Operating System (OS), Device, and Language Detect
-
“骑电单车”再获千万美金A+轮融资,KYMCO Capital领投
-
关于MySQL死锁检测机制参数innodb_deadlock_detect设置的一点思考
-
RSA 签名异常:java.security.InvalidKeyException: IOException : Detect premature EOF 已解决
-
PHP判断变量内容是什么编码(gbk?utf-8) mb_detect_encoding
-
C# detect latest .net framework installed on PC