File tree 3 files changed +123
-0
lines changed
leetcode/0520.Detect-Capital
3 files changed +123
-0
lines changed Original file line number Diff line number Diff line change
1
+ package leetcode
2
+
3
+ import "strings"
4
+
5
+ func detectCapitalUse (word string ) bool {
6
+ wLower := strings .ToLower (word )
7
+ wUpper := strings .ToUpper (word )
8
+ wCaptial := strings .ToUpper (string (word [0 ])) + strings .ToLower (string (word [1 :]))
9
+ if wCaptial == word || wLower == word || wUpper == word {
10
+ return true
11
+ }
12
+ return false
13
+ }
Original file line number Diff line number Diff line change
1
+ package leetcode
2
+
3
+ import (
4
+ "fmt"
5
+ "testing"
6
+ )
7
+
8
+ type question520 struct {
9
+ para520
10
+ ans520
11
+ }
12
+
13
+ // para 是参数
14
+ type para520 struct {
15
+ word string
16
+ }
17
+
18
+ // ans 是答案
19
+ type ans520 struct {
20
+ ans bool
21
+ }
22
+
23
+ func Test_Problem520 (t * testing.T ) {
24
+
25
+ qs := []question520 {
26
+
27
+ {
28
+ para520 {"USA" },
29
+ ans520 {true },
30
+ },
31
+
32
+ {
33
+ para520 {"FlaG" },
34
+ ans520 {false },
35
+ },
36
+ }
37
+
38
+ fmt .Printf ("------------------------Leetcode Problem 520------------------------\n " )
39
+
40
+ for _ , q := range qs {
41
+ _ , p := q .ans520 , q .para520
42
+ fmt .Printf ("【input】:%v 【output】:%v\n " , p , detectCapitalUse (p .word ))
43
+ }
44
+ fmt .Printf ("\n \n \n " )
45
+ }
Original file line number Diff line number Diff line change
1
+ # [ 520. Detect Capital] ( https://leetcode-cn.com/problems/detect-capital/ )
2
+
3
+
4
+ ## 题目
5
+
6
+ We define the usage of capitals in a word to be right when one of the following cases holds:
7
+
8
+ All letters in this word are capitals, like "USA".
9
+
10
+ All letters in this word are not capitals, like "leetcode".
11
+
12
+ Only the first letter in this word is capital, like "Google".
13
+
14
+ Given a string word, return true if the usage of capitals in it is right.
15
+
16
+ ** Example 1:**
17
+
18
+ ```
19
+ Input: word = "USA"
20
+ Output: true
21
+ ```
22
+
23
+ ** Example 2:**
24
+
25
+ ```
26
+ Input: word = "FlaG"
27
+ Output: false
28
+ ```
29
+
30
+ ** Constraints:**
31
+
32
+ - 1 <= word.length <= 100
33
+ - word consists of lowercase and uppercase English letters.
34
+
35
+ ## 题目大意
36
+
37
+ 我们定义,在以下情况时,单词的大写用法是正确的:
38
+
39
+ 全部字母都是大写,比如 "USA" 。
40
+ 单词中所有字母都不是大写,比如 "leetcode" 。
41
+ 如果单词不只含有一个字母,只有首字母大写,比如"Google" 。
42
+
43
+ 给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。
44
+
45
+ ## 解题思路
46
+
47
+ - 把word分别转换为全部小写wLower,全部大写wUpper,首字母大写的字符串wCaptial
48
+ - 判断word是否等于wLower,wUpper,wCaptial中的一个,如果是返回true,否则返回false
49
+
50
+ ## 代码
51
+ ``` go
52
+ package leetcode
53
+
54
+ import " strings"
55
+
56
+ func detectCapitalUse (word string ) bool {
57
+ wLower := strings.ToLower (word)
58
+ wUpper := strings.ToUpper (word)
59
+ wCaptial := strings.ToUpper (string (word[0 ])) + strings.ToLower (string (word[1 :]))
60
+ if wCaptial == word || wLower == word || wUpper == word {
61
+ return true
62
+ }
63
+ return false
64
+ }
65
+ ```
You can’t perform that action at this time.
0 commit comments