mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-05 00:25:22 +08:00
Merge pull request #127 from NovaHe/fix/345
fix/345: clean up redundant code
This commit is contained in:
@ -3,25 +3,22 @@ package leetcode
|
||||
func reverseVowels(s string) string {
|
||||
b := []byte(s)
|
||||
for i, j := 0, len(b)-1; i < j; {
|
||||
if isVowels(b[i]) && isVowels(b[j]) {
|
||||
b[i], b[j] = b[j], b[i]
|
||||
if !isVowel(b[i]) {
|
||||
i++
|
||||
j--
|
||||
} else if isVowels(b[i]) && !isVowels(b[j]) {
|
||||
j--
|
||||
} else if !isVowels(b[i]) && isVowels(b[j]) {
|
||||
i++
|
||||
} else {
|
||||
i++
|
||||
j--
|
||||
continue
|
||||
}
|
||||
if !isVowel(b[j]) {
|
||||
j--
|
||||
continue
|
||||
}
|
||||
b[i], b[j] = b[j], b[i]
|
||||
i++
|
||||
j--
|
||||
}
|
||||
return string(b)
|
||||
}
|
||||
|
||||
func isVowels(s byte) bool {
|
||||
if s == 'a' || s == 'e' || s == 'i' || s == 'o' || s == 'u' || s == 'A' || s == 'E' || s == 'I' || s == 'O' || s == 'U' {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
func isVowel(s byte) bool {
|
||||
return s == 'a' || s == 'e' || s == 'i' || s == 'o' || s == 'u' || s == 'A' ||
|
||||
s == 'E' || s == 'I' || s == 'O' || s == 'U'
|
||||
}
|
||||
|
@ -37,35 +37,30 @@ Output: "leotcede"
|
||||
## 代码
|
||||
|
||||
```go
|
||||
|
||||
package leetcode
|
||||
|
||||
func reverseVowels(s string) string {
|
||||
b := []byte(s)
|
||||
for i, j := 0, len(b)-1; i < j; {
|
||||
if isVowels(b[i]) && isVowels(b[j]) {
|
||||
b[i], b[j] = b[j], b[i]
|
||||
if !isVowel(b[i]) {
|
||||
i++
|
||||
j--
|
||||
} else if isVowels(b[i]) && !isVowels(b[j]) {
|
||||
j--
|
||||
} else if !isVowels(b[i]) && isVowels(b[j]) {
|
||||
i++
|
||||
} else {
|
||||
i++
|
||||
j--
|
||||
continue
|
||||
}
|
||||
if !isVowel(b[j]) {
|
||||
j--
|
||||
continue
|
||||
}
|
||||
b[i], b[j] = b[j], b[i]
|
||||
i++
|
||||
j--
|
||||
}
|
||||
return string(b)
|
||||
}
|
||||
|
||||
func isVowels(s byte) bool {
|
||||
if s == 'a' || s == 'e' || s == 'i' || s == 'o' || s == 'u' || s == 'A' || s == 'E' || s == 'I' || s == 'O' || s == 'U' {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
func isVowel(s byte) bool {
|
||||
return s == 'a' || s == 'e' || s == 'i' || s == 'o' || s == 'u' || s == 'A' ||
|
||||
s == 'E' || s == 'I' || s == 'O' || s == 'U'
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user