[面试常问总结] 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)
}

 

posted @ 2021-05-17 10:58  唯一客服系统开发笔记  阅读(154)  评论(0编辑  收藏  举报