牛客题霸 - 反转字符串题解
反转字符串
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; } };