-
请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。
给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。
string reverse(string s) {string c;string::size_type siz, i, j, mid_siz;string::size_type check;check = s.size() % 2;mid_siz = s.size() / 2;if (check == 1){for (i = 0, j = s.size(); i<mid_siz + 1, j>mid_siz - 1; ++i, --j) {c = s[i];s[i] = s[j];s.replace(j, 1, c);}}else{for (i = 0, j = s.size(); i<mid_siz, j>mid_siz; ++i, --j) {c = s[i];s[i] = s[j];s.replace(j, 1, c);}return s;} }//VS2015 和 G++中通过(本方法未考虑字符串中含有回车符)
转载于:https://www.cnblogs.com/gardenofhu/p/5822102.html