牛客题霸 - 反转字符串题解
反转字符串
https://www.nowcoder.com/practice/c3a6afee325e472386a1c4eb1ef987f3?tpId=117&&tqId=35028&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking
题目:反转字符串
Solution_1
如果你知道 reverse() 函数的话,可以偷个懒
AC Code_1
class Solution {
public:
string solve(string str) {
reverse(str.begin(),str.end());
return str;
}
}; Solution_2
头尾交换,实现反转
AC Code_2
class Solution {
public:
string solve(string str) {
int len = str.length();
for(int i=0;i<len/2;i++){
swap(str[i],str[len-1-i]);
}
return str;
}
}; Solution_3
利用栈后进先出的特点,将字符串的每个字符都入栈,再逐个出栈,可得到反转的字符串。
AC Code_3
class Solution {
public:
string solve(string str) {
stack<char> s;
for(char x : str){
s.push(x);
}
str="";
while(!s.empty()){
str+=s.top();
s.pop();
}
return str;
}
};
查看30道真题和解析