c++/cpp实现:
class Solution {
public:
bool detectCapitalUse(string word) {
int length = word.length();
bool first = whetherUpper(word[0]);
if (first == false){
// 首字母是小写字母
for (int i=1; i<length; i++){
if (whetherUpper(word[i])){
// 如果有一个大写字母
return false;
}
}
return true;
}
else{
// 后面都是小写字母或者大写字母
bool ans = whetherUpper(word[1]);
for (int i=2; i<length; i++){
if (whetherUpper(word[i])!=ans){
// 如果后面的有一个跟第2位不一样
return false;
}
}
return true;
}
}
bool whetherUpper(char c){
if (c>='A' && c<='Z'){
return true;
}
else{
return false;
}
}
};
结果: