File tree Expand file tree Collapse file tree 2 files changed +22
-30
lines changed
leetcode/0345.Reverse-Vowels-of-a-String
website/content/ChapterFour/0300~0399 Expand file tree Collapse file tree 2 files changed +22
-30
lines changed Original file line number Diff line number Diff line change @@ -3,25 +3,22 @@ package leetcode
33func reverseVowels (s string ) string {
44 b := []byte (s )
55 for i , j := 0 , len (b )- 1 ; i < j ; {
6- if isVowels (b [i ]) && isVowels (b [j ]) {
7- b [i ], b [j ] = b [j ], b [i ]
8- i ++
9- j --
10- } else if isVowels (b [i ]) && ! isVowels (b [j ]) {
11- j --
12- } else if ! isVowels (b [i ]) && isVowels (b [j ]) {
13- i ++
14- } else {
6+ if ! isVowel (b [i ]) {
157 i ++
8+ continue
9+ }
10+ if ! isVowel (b [j ]) {
1611 j --
12+ continue
1713 }
14+ b [i ], b [j ] = b [j ], b [i ]
15+ i ++
16+ j --
1817 }
1918 return string (b )
2019}
2120
22- func isVowels (s byte ) bool {
23- if s == 'a' || s == 'e' || s == 'i' || s == 'o' || s == 'u' || s == 'A' || s == 'E' || s == 'I' || s == 'O' || s == 'U' {
24- return true
25- }
26- return false
21+ func isVowel (s byte ) bool {
22+ return s == 'a' || s == 'e' || s == 'i' || s == 'o' || s == 'u' || s == 'A' ||
23+ s == 'E' || s == 'I' || s == 'O' || s == 'U'
2724}
Original file line number Diff line number Diff line change @@ -37,35 +37,30 @@ Output: "leotcede"
3737## 代码
3838
3939``` go
40-
4140package leetcode
4241
4342func reverseVowels (s string ) string {
4443 b := []byte (s)
4544 for i , j := 0 , len (b)-1 ; i < j; {
46- if isVowels (b[i]) && isVowels (b[j]) {
47- b[i], b[j] = b[j], b[i]
48- i++
49- j--
50- } else if isVowels (b[i]) && !isVowels (b[j]) {
51- j--
52- } else if !isVowels (b[i]) && isVowels (b[j]) {
53- i++
54- } else {
45+ if !isVowel (b[i]) {
5546 i++
47+ continue
48+ }
49+ if !isVowel (b[j]) {
5650 j--
51+ continue
5752 }
53+ b[i], b[j] = b[j], b[i]
54+ i++
55+ j--
5856 }
5957 return string (b)
6058}
6159
62- func isVowels (s byte ) bool {
63- if s == ' a' || s == ' e' || s == ' i' || s == ' o' || s == ' u' || s == ' A' || s == ' E' || s == ' I' || s == ' O' || s == ' U' {
64- return true
65- }
66- return false
60+ func isVowel (s byte ) bool {
61+ return s == ' a' || s == ' e' || s == ' i' || s == ' o' || s == ' u' || s == ' A' ||
62+ s == ' E' || s == ' I' || s == ' O' || s == ' U'
6763}
68-
6964```
7065
7166
You can’t perform that action at this time.
0 commit comments