See More

class Solution { public: string reverseWords(string a) { int i = 0, n; string st = ""; vector wd; for (i = a.length() - 1; i >= 0; i--) { if (a[i] != ' ') { break; } } n = i + 1; for (i = 0; i < n; i++) { if (a[i] != ' ') { break; } } for (; i < n; i++) { if (a[i] == ' ') { if (a[i - 1] != ' ') { wd.push_back(st); st = ""; } } else { st += a[i]; } } wd.push_back(st); st = ""; for (i = wd.size() - 1; i >= 0; i--) { st += wd[i]; if (i != 0) { st += " "; } } return st; } };