LeetCode刷题(176)~重新排列单词间的空格【第207场周赛:题目一】

举报
海轰Pro 发表于 2021/08/05 23:13:54 2021/08/05
【摘要】 题目描述 给你一个字符串 text ,该字符串由若干被空格包围的单词组成。每个单词由一个或者多个小写英文字母组成,并且两个单词之间至少存在一个空格。题目测试用例保证 text 至少包含一个单词 。 请你重新排列空格,使每对相邻单词之间的空格数目都 相等 ,并尽可能 最大化 该数目。如果不能重新平均分配所有空格,请 将多余的空格放置在字符串末尾 ,这也意味着返回的字符...

题目描述

给你一个字符串 text ,该字符串由若干被空格包围的单词组成。每个单词由一个或者多个小写英文字母组成,并且两个单词之间至少存在一个空格。题目测试用例保证 text 至少包含一个单词 。

请你重新排列空格,使每对相邻单词之间的空格数目都 相等 ,并尽可能 最大化 该数目。如果不能重新平均分配所有空格,请 将多余的空格放置在字符串末尾 ,这也意味着返回的字符串应当与原 text 字符串的长度相等。

返回 重新排列空格后的字符串 。

示例 1:

输入:text = "  this   is  a sentence "
输出:"this   is   a   sentence"
解释:总共有 9 个空格和 4 个单词。可以将 9 个空格平均分配到相邻单词之间,相邻单词间空格数为:9 / (4-1) = 3 个。

  
 
  • 1
  • 2
  • 3

示例 2:

输入:text = " practice   makes   perfect"
输出:"practice   makes   perfect "
解释:总共有 7 个空格和 3 个单词。7 / (3-1) = 3 个空格加上 1 个多余的空格。多余的空格需要放在字符串的末尾。

  
 
  • 1
  • 2
  • 3

示例 3:

输入:text = "hello   world"
输出:"hello   world"

  
 
  • 1
  • 2

示例 4:

输入:text = "  walks  udp package   into  bar a"
输出:"walks  udp  package  into  bar  a "

  
 
  • 1
  • 2

示例 5:

输入:text = "a"
输出:"a"

  
 
  • 1
  • 2

提示:

  • 1 <= text.length <= 100
  • text 由小写英文字母和 ’ ’ 组成
  • text 中至少包含一个单词

解答 By 海轰

提交代码

class Solution {
public: string reorderSpaces(string text) { int wordnums=0; int nonums=0; for(char i:text) { if(i==' ') ++nonums; } vector<string> a; istringstream words(text); string word; while(words>>word) { ++wordnums; a.push_back(word); } string ans; if(wordnums-1==0) { ans+=a[0]; for(int i=0;i<nonums;++i) ans+=' '; return ans; } int temp=nonums/(wordnums-1); for(int i=0;i<a.size()-1;++i) { ans+= a[i]; for(int j=0;j<temp;++j) ans+=' '; } ans+=a[a.size()-1]; int x=nonums-((wordnums-1)*temp); for(int i=0;i<x;++i) ans+=' '; return ans; }
};

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

运行结果
在这里插入图片描述

题目来源

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/rearrange-spaces-between-words

文章来源: haihong.blog.csdn.net,作者:海轰Pro,版权归原作者所有,如需转载,请联系作者。

原文链接:haihong.blog.csdn.net/article/details/108710217

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。