LeetCode 1592 重新排列单词间的间隔[字符串] HERODING的LeetCode之路

Posted HERODING23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 1592 重新排列单词间的间隔[字符串] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。

解题思路:
对于C++来说,字符串处理一直不是一件容易的事情, 这道题是一道简单题,但是仍然有一些小细节,整体思路是取出所有的单词,并统计所有的空格数目,均分到单词之间,剩下的放在末尾,这里考虑到只有一个单词的情况,这时所有空格都要放到末尾,代码如下:

class Solution 
public:
    string reorderSpaces(string text) 
        int num = 0;
        vector<string> words;
        string s;
        for(int i = 0; i < text.size(); i ++) 
            if(text[i] == ' ') 
                num ++;
                if(s != "") 
                    words.emplace_back(s);
                    s = "";
                
             else 
                s += text[i];
            
        
        int avg, res;
        int n = words.size();
        avg = num / (n - 1);
        res = num % (n - 1);
        string ans;
        for(int i = 0; i < n; i ++) 
            if(i != n - 1) 
                for(int j = 0; j < avg; j ++) 
                    ans += ' ';
                
             else 
                for(int j = 0; j < res; j ++) 
                    ans += ' ';
                
            
        
        return ans;
    
;

以上是关于LeetCode 1592 重新排列单词间的间隔[字符串] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章

每日一题1592. 重新排列单词间的空格

leetcode-189周赛-1451-重新排列句子中的单词

Leetcode 68.文本左右对齐

1451. 重新排列句子中的单词

#yyds干货盘点# LeetCode程序员面试金典:回文排列

Leetcode No.68 文本左右对齐(模拟)