程式語言 - LeetCode - CPP - 151. Reverse Words in a String



參考資訊:
https://cplusplus.com/reference/string/
https://stackoverflow.com/questions/216823/how-can-i-trim-a-stdstring

題目:


解答一:

class Solution {
public:
    string reverseWords(string s) {
        string w;
        vector<string> q;
        stringstream ss(s);

        while (ss >> w) {
            q.push_back(w);
        }
        reverse(q.begin(), q.end());

        string ans;
        for (int i = 0; i < q.size(); i++) {
            if (i) {
                ans += " ";
            }
            ans += q[i];
        }

        return ans;
    }
};

解答二:

class Solution {
public:
    string reverseWords(string s) {
        string w;
        stack<string> q;
        stringstream ss(s);

        while (ss >> w) {
            q.push(w);
        }

        string ans;
        int size = q.size();
        for (int i = 0; i < size; i++) {
            if (i) {
                ans += " ";
            }
            ans += q.top(); q.pop();
        }

        return ans;
    }
};