Description
Write a function that takes a string as input and returns the string reversed.
Example
Given s = "hello", return "olleh".
Solution 1(C++)
class Solution {
public:
string reverseString(string s) {
reverse(s.begin(),s.end());
return s;
}
};
Solution 2(C++)
class Solution {
public:
string reverseString(string s) {
int len=s.size();
string res;
for(int i=len-1; i>=0; i--){
res+=s[i];
}
return res;
}
};
Solution 3(C++)
class Solution {
public:
string reverseString(string s) {
int i = 0, j = s.size() - 1;
while(i < j){
swap(s[i++], s[j--]);
}
return s;
}
};
Solution 4(C++)
class Solution {
public:
string reverseString(string s) {
return string(s.rbegin(), s.rend());
}
};
Solution 5(C++)
class Solution {
public:
string reverseString(string s) {
int start = 0;
int end = s.length() - 1;
char ch = 0;
for (; start < end; start++, end--){
ch = s[start];
s[start] = s[end];
s[end] = ch;
}
return s;
}
};
算法分析
这一道题其实挺简单的,所以我多总结了几种方法,都是值得学习的。多余的不用解释,题目不复杂,所以一看就懂。
相关题目: LeetCode-541. Reverse String II。
程序分析
不啰嗦。