string反轉問題

問題來源:

點擊打開鏈接


問題描述:

Write a function that takes a string as input and returns the string reversed.

Example:
Given s = "hello", return "olleh".

我的解決方案(2種):

class Solution {
public:
     string reverseString(string s) {
         reverse(&s[0],&s[s.size()]);
         return s;
    }
};

class Solution {
public:
    string reverseString(string s) {
        string ret;
        for(int i=0;i<s.size();++i)
          ret.insert(0,1,s[i]);
        return ret;
    }
};

思考:

前幾天做過部分反轉string的題,所以這道題做的得心應手,reverse確實很方便,不過一定要記住是傳的迭代器進去,另外摘錄一個別的swap的做法,也很簡單:

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


發佈了31 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章