0345. Reverse Vowels of a String

345. Reverse Vowels of a String #

题目 #

Write a function that takes a string as input and reverse only the vowels of a string.

Example 1:


Input: "hello"
Output: "holle"

Example 2:


Input: "leetcode"
Output: "leotcede"

题目大意 #

题目要求我们反转字符串中的元音字母。需要注意字母大小写。

解题思路 #

这一题的解题思路是用 2 个指针,指针对撞的思路,来不断交换首尾元素,即可。这一题和第 344 题思路一样。

代码 #


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]
			i++
			j--
		} else if isVowels(b[i]) && !isVowels(b[j]) {
			j--
		} else if !isVowels(b[i]) && isVowels(b[j]) {
			i++
		} else {
			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
}


⬅️上一页

下一页➡️

Calendar Sep 6, 2020
Edit Edit this page
本站总访问量:  次 您是本站第  位访问者