编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
输入: "hello"
输出: "holle"
示例 2:
输入: "leetcode"
输出: "leotcede"
说明:
元音字母不包含字母"y"。
解法:
func reverseVowels(_ s: String) -> String {
var ss = Array(s)
let array = ["a","e","i","o","u","A","E","I","O","U"]
// var tmp = -1
// var tmpC = ""
// for item in 0..<str.count {
//
// if array.contains(String(str[item])) {
// if tmp == -1 {
// tmp = item
// tmpC = String(str[item])
// }else{
// (str[tmp], str[item]) = (str[item], str[tmp])
// tmp = item
// tmpC = String(str[item])
// }
// }
//
// }
var i = 0
var j = s.count - 1
while(i < j) {
if(array.contains(String(ss[i])) && array.contains(String(ss[j]))) {
let t = ss[i]
ss[i] = ss[j]
ss[j] = t
i += 1
j -= 1
} else if(!array.contains(String(ss[i]))) {
i += 1
} else if(!array.contains(String(ss[j]))) {
j -= 1
}
}
return String(ss)
}