-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDetectCapital.java
More file actions
52 lines (50 loc) · 1.33 KB
/
DetectCapital.java
File metadata and controls
52 lines (50 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package easy;
/**
* ClassName: DetectCapital.java
* Author: chenyiAlone
* Create Time: 2019/9/29 21:37
* Description: No.520 Detect Capital
*
*
* Given a word, you need to judge whether the usage of capitals in it is right or not.
*
* We define the usage of capitals in a word to be right when one of the following cases holds:
*
* All letters in this word are capitals, like "USA".
* All letters in this word are not capitals, like "leetcode".
* Only the first letter in this word is capital, like "Google".
* Otherwise, we define that this word doesn't use capitals in a right way.
*
*
* Example 1:
*
* Input: "USA"
* Output: True
*
*
* Example 2:
*
* Input: "FlaG"
* Output: False
*
*
* Note: The input will be a non-empty word consisting of uppercase and lowercase latin letters.
*
*/
public class DetectCapital {
public boolean detectCapitalUse(String word) {
int upCnt = 0, lowCnt = 0;
for (int i = 0; i < word.length(); i++) {
char c = word.charAt(i);
if ('A' <= c && c <= 'Z') {
if (i > 0 && lowCnt != 0) return false;
upCnt++;
}
else if ('a' <= c && c <= 'z') {
if (upCnt > 0 && upCnt != 1) return false;
lowCnt++;
}
}
return true;
}
}