原串反转 牛客网 程序员面试金典 C++ Python
题目描述
请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。
给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。
测试样例:
"This is nowcoder"
返回:"redocwon si sihT"
C++
class Reverse { public: //run:4ms memory:608k string reverseString(string iniString){ for(unsigned i = 0; i < iniString.size() / 2; ++i){ char tmp = iniString[i]; iniString[i] = iniString[iniString.size() - i - 1]; iniString[iniString.size() - i - 1] = tmp; } return iniString; } };Python
class Reverse: #run:73ms memory:5732k def reverseString(self, iniString): result = "" max_index = len(iniString) for i in range(0,max_index): result += iniString[max_index-1 - i] return result
转载于:https://www.cnblogs.com/vercont/p/10210331.html
相关资源:JAVA上百实例源码以及开源项目