leetcode Reverse Words in a String

    xiaoxiao2026-06-20  0

    class Solution { public: void reverseWords(string &s) { del_tail_blank(s); reverse(s.begin(), s.end()); del_tail_blank(s); string word; for (auto start = s.begin(); start != s.end();){ auto end = start; for (; end != s.end() && *end != ' '; ++end); reverse(start, end); //start依然对应的是头,end 依然对应的是尾,只是指针所指向的值变了 start = end; if (end != s.end()){ start = ++end; // 跳过一个空格 for (; end != s.end() && *end == ' '; ++end); start = s.erase(start, end); // start = end } } } private: void del_tail_blank(string &s){ int i; for (i = s.size() - 1; i >= 0 && s[i] == ' '; --i); s.erase(++i, s.size() - i); } };
    转载请注明原文地址: https://ju.6miu.com/read-1310715.html
    最新回复(0)