[面试常问总结] 3. 反转字符串中的元音字母
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
输入: "hello"
输出: "holle"
示例 2:
输入: "leetcode"
输出: "leotcede"
说明:
元音字母不包含字母"y"。
思路:
1、定义一个列表ls存储所有的元音字母;
2、用两个指针分别指向左右端点,如果他们指向的元素是在列表ls中,则将其进行交换,直至左右端点越界。
go语言实现代码:
//反转字符串中的元音字符 //双指针法 例如:ReverseString("hello") 返回holle ;ReverseString("helo") 返回hole func ReverseVomelsString(str string) string { strByte := []rune(str) //所有的元音字符 vomels := []string{"a", "e", "i", "o", "u", "A", "E", "I", "O", "U"} left := 0 right := len(strByte) - 1 //左右双指针,左小于右 for left < right { //左指针没在元音,往右移动 for left < right && !array.InArray(vomels, string(strByte[left])) { left++ } //右指针没在元音,往左移动 for left < right && !array.InArray(vomels, string(strByte[right])) { right-- } //交换左右指针 strByte[left], strByte[right] = strByte[right], strByte[left] //左指针往右移动一位 left += 1 //右指针往左移动 right -= 1 } return string(strByte) }
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网
浙公网安备 33010602011771号