示例1:
输入:["h","e","l","l","o"]
输出:["o","l","l","e","h"]
示例2:
输入:["H","a","n","n","a","h"]
输出:["h","a","n","n","a","H"]
思路:
1、遍历数组的一半长度,将第i位的值和第 len(s)-1-i位置的值进行交换。
go语言实现代码
//反转字符串 //例如:ReverseString("hello") 返回olleh ;ReverseString("helo") 返回oleh func ReverseString(str string)string{ strByte:=[]byte(str) num:=len(strByte) if num==0{ return "" } //双指针 //找到中间位置 mid:=num/2 //最后一个元素 j:=num-1 //循环到中间位置 for i:=0;i<mid;i++{ //多重赋值,左右两边元素交换 strByte[i],strByte[j]=strByte[j],strByte[i] //右边指针往左移动 j-- } return string(strByte) }
开源作品