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
3
3
func reverseVowels (s string ) string {
4
4
b := []byte (s )
5
5
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 ]) {
15
7
i ++
8
+ continue
9
+ }
10
+ if ! isVowel (b [j ]) {
16
11
j --
12
+ continue
17
13
}
14
+ b [i ], b [j ] = b [j ], b [i ]
15
+ i ++
16
+ j --
18
17
}
19
18
return string (b )
20
19
}
21
20
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'
27
24
}
Original file line number Diff line number Diff line change @@ -37,35 +37,30 @@ Output: "leotcede"
37
37
## 代码
38
38
39
39
``` go
40
-
41
40
package leetcode
42
41
43
42
func reverseVowels (s string ) string {
44
43
b := []byte (s)
45
44
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]) {
55
46
i++
47
+ continue
48
+ }
49
+ if !isVowel (b[j]) {
56
50
j--
51
+ continue
57
52
}
53
+ b[i], b[j] = b[j], b[i]
54
+ i++
55
+ j--
58
56
}
59
57
return string (b)
60
58
}
61
59
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'
67
63
}
68
-
69
64
```
70
65
71
66
You can’t perform that action at this time.
0 commit comments