String:344. Reverse String

来源:互联网 发布:oracl 显示所有数据库 编辑:程序博客网 时间:2024/05/21 16:42

    我的代码,尝试着把前后两个指针都放到for循环里写了,代码确实好看了一些:

class Solution {public:    string reverseString(string s) {        for(int start = 0,end = s.size() - 1; start < end; ++start,--end)        {            swap(s[start], s[end]);        }        return s;    }};
    还看到别人的一种写法,借助STL库:

class Solution {public:    string reverseString(string s) {        return string(s.rbegin(), s.rend());    }};
    这里用到的s.rbegin()是反向迭代器,指向容器的最后一个元素。s.rend()也是反向迭代器,指向第一个元素前面的位置。用了string的其中一种构造函数:string(Iter begin, Iter end);

    当然了,还有更直接一点的STL库可以用:

class Solution {public:    string reverseString(string s) {        reverse(s.begin(), s.end());        return s;    }};