[面试常问总结] 2. 翻转字符串 Golang实现_面试常问

 

 

 

示例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)
}

 

开源作品

GO-FLY,一套可私有化部署的免费开源客服系统,安装过程不超过五分钟(超过你打我 !),基于Golang开发,二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能
github地址:go-fly