Leetcode#344. Reverse String

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_20177327/article/details/79964270

题目描述:字符串逆序

使用栈的解法:

class Solution {
public:
    string reverseString(string s) 
    {
        if(s.empty())
            return s;
        stack<char> sta;
        for(int i = 0; i < s.length(); ++i)
            sta.push(s[i]);
        s = "";
        while(!sta.empty())
        {
            s += sta.top();
            sta.pop();
        }
        return s;
    }
};

一个空间复杂度为O(1)的解法:

class Solution {
public:
    string reverseString(string s) 
    {
        int left = 0, right = s.length() - 1;
        while(left < right)
        {
            swap(s[left ++], s[right --]);
        }
        return s;
    }
};

超简单的解法:直接调用 reverse()

class Solution {
public:
    string reverseString(string s) 
    {
        reverse(s.begin(), s.end());
        return s;
    }
};
阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页