牛客题霸 - 反转字符串题解

题目:反转字符串

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;
    }
};

猜你喜欢

转载自blog.csdn.net/buibuilili/article/details/109552722