Leetcode344 反转字符串

【方法一:用迭代器】

class Solution {
public:
    string reverseString(string s) {
        string res;
        for(string::iterator it=s.end()-1;it>=s.begin();it--){
            res+= *it;
        }
        return res;
    }
};

【方法二:用栈】

class Solution {
public:
    string reverseString(string s) {
        stack<char> N;
        for(int i=0;i<s.size();++i){
            N.push(s[i]);
        }
        for(int i=0;i<s.size();++i){
            s[i]=N.top();
            N.pop();
        }
        return s;
    }
};

【方法三:交换】

class Solution {
public:
    string reverseString(string s) {
        for (int i = 0; i != s.size() / 2; ++i) std::swap(s[i], s[s.size() - 1 - i]);
        return s;
    }
};

猜你喜欢

转载自blog.csdn.net/zpznba/article/details/83862248
今日推荐