企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
**问题描述** 请实现一个算法,在不使用【额外数据结构和储存空间】的情况下,翻转一个给定的字符串(可以使用单个过程变量)。 给定一个 string,请返回一个 string,为翻转后的字符串。保证字符串的长度小于等于 5000。 **解题思路** 翻转字符串其实是将一个字符串以中间字符为轴,前后翻转,即将 str\[len\]赋值给 str\[0\],将 str\[0\] 赋值 str\[len\]。 **源码参考** ~~~ func reverString(s string) (string, bool) { str := []rune(s) l := len(str) if len > 5000 { return s, false } for i := 0; i < len/2; i++ { str[i], str[l-1-i] = str[l-1-i], str[i] } return string(str), true } ~~~ **源码解析** 以字符串长度的 1/2 为轴,前后赋值