leetcode 1592

注意整行输入的格式

复制代码
#include<iostream>
#include<sstream>
using namespace std;
string reorderSpaces(string text) {
    string words[55];
    int n = text.size(),cntWords = 0, lo = 0, hi = 0,cntSpace = 0,avgSpace = 0,tailSpace = 0;
    while (lo < n) {
        while (lo < n && text[lo] == ' ') {
            cntSpace++;
            lo++;
        }
        hi = lo;
        while (hi < n && text[hi] != ' ') {
            hi++;
        }
        if (lo != hi) {
            words[cntWords++] = text.substr(lo, hi - lo);
        }
        lo = hi;
    }
    if (cntWords == 1) {
        text = words[0];
        for (int i = 0; i < cntSpace; i++) {
            text += " ";
        }
    }
    else {
        avgSpace = cntSpace / (cntWords-1);
        tailSpace = cntSpace % (cntWords-1);
        text = "";
        for (int i = 0; i < cntWords-1; i++) {
            text += words[i];
            for (int j = 0; j < avgSpace; j++) {
                text += " ";
            }
        }
        text += words[cntWords - 1];
        for (int i = 0; i < tailSpace; i++) {
            text += " ";
        }
    }
    return text;
}
int main() {
    string s;
    while (getline(cin,s) ){
        cout<<reorderSpaces(s)<<endl;
    }
    return 0;
}
复制代码

 

posted @   智人心  阅读(13)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示