Write a function that takes a string as input and returns the string reversed.
Example:
Given s = "hello", return "olleh".
class Solution {
public:
string reverseString(string s) {
string result;
int len = s.size();
if(len==0) return result;
int i = 0, j = len-1;
while(i < len)
{
result += s[j];
i++;
j--;
}
return result;
}
};
二刷:从头和末尾,逐个交换字符
class Solution {
public:
string reverseString(string s) {
string re = s;
int len = s.length();
if(len==0) return re;
int i = 0, j =len-1;
while(i<j)
{
char tmp = re[i];
re[i] = re[j];
re[j] = tmp;
i++;
j--;
}
return re;
}
};
也可以用栈实现,顺序进,出来的时候就是逆序。
class Solution {
public:
string reverseString(string s) {
string re ;
int len = s.length();
if(len==0) return re;
int i = 0;
stack<char> stk;
while(i< len)
{
stk.push(s[i]);
i++;
}
while(!stk.empty())
{
char tmp = stk.top();
re.push_back(tmp);
stk.pop();
}
return re;
}
};