请编写一个函数,其功能是将输入的字符串反转过来。
示例:
输入:s = “hello”
返回:”olleh”
实现思想:
观察特征,第一个字符和最后一个字符更换,第二个字符和倒数第二个更换…以此类推
C++实现
class Solution {
public:
string reverseString(string str) {
int length = str.length();
//计算多少对,向下取整
int pair = length / 2;
int last;
for (int i = 0; i < pair; ++i) {
last = length - i - 1;
char temp = str.at(i);
str.at(i) = str.at(last);
str.at(last) = temp;
}
return str;
}
};
Java实现
public class Solution {
public String reverseString(String str) {
char[] array = str.toCharArray();
int length = array.length;
int pair = length / 2;
int last;
for (int i = 0; i < pair; ++i) {
last = length - i - 1;
char temp = array[i];
array[i] = array[last];
array[last] = temp;
}
return new String(array);
}
}
算法原题:
https://leetcode-cn.com/problems/reverse-string/description/