From 2450cf4dd0bebd7ad63494b31c5b80f20ea6f8c6 Mon Sep 17 00:00:00 2001 From: novahe Date: Wed, 5 May 2021 12:01:03 +0800 Subject: [PATCH] fix/345: clean up redundant code --- .../345. Reverse Vowels of a String.go | 27 ++++++++--------- .../0345.Reverse-Vowels-of-a-String.md | 29 ++++++++----------- 2 files changed, 24 insertions(+), 32 deletions(-) diff --git a/leetcode/0345.Reverse-Vowels-of-a-String/345. Reverse Vowels of a String.go b/leetcode/0345.Reverse-Vowels-of-a-String/345. Reverse Vowels of a String.go index 3bd3fbee..ff1e1be0 100644 --- a/leetcode/0345.Reverse-Vowels-of-a-String/345. Reverse Vowels of a String.go +++ b/leetcode/0345.Reverse-Vowels-of-a-String/345. Reverse Vowels of a String.go @@ -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' } diff --git a/website/content/ChapterFour/0300~0399/0345.Reverse-Vowels-of-a-String.md b/website/content/ChapterFour/0300~0399/0345.Reverse-Vowels-of-a-String.md index 7e812f36..1c87310a 100644 --- a/website/content/ChapterFour/0300~0399/0345.Reverse-Vowels-of-a-String.md +++ b/website/content/ChapterFour/0300~0399/0345.Reverse-Vowels-of-a-String.md @@ -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' } - ```