public class Solution {
public boolean detectCapitalUse(String word) {
char[] arr = word.toCharArray();
// 0-all lower case; 1- all upper case; 2-first Upper rest Lower
if (arr.length<=1) {
return true;
}
int caseno = Character.isLowerCase(arr[0])?0:(Character.isUpperCase(arr[1])?1:2);
switch (caseno) {
case 0:// all lower case detect
int i;
for (i = 0; i < arr.length; i++) {
if (!Character.isLowerCase(arr[i])) {
break;
}
}
if (i>=arr.length) {
return true;
}
return false;
case 1:// all upper case detect
for (i = 0; i < arr.length; i++) {
if (!Character.isUpperCase(arr[i])) {
break;
}
}
if (i>=arr.length) {
return true;
}
return false;
case 2:// all upper case detect
for (i = 2; i < arr.length; i++) {
if (!Character.isLowerCase(arr[i])) {
break;
}
}
if (i>=arr.length) {
return true;
}
return false;
default:
return false;
}
}
}
leetcode 520. Detect Capital
最新推荐文章于 2018-03-23 10:40:39 发布