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

知识浅谈 🐄🐄🐄🐄🐄大佬
后端领域优质创作者
博客专家认证
2022-09-07 08:33:27

题意

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

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

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

解答

class Solution {
    public String reorderSpaces(String text) {
        String text1 = text.trim();
        String[] ss = text1.split("\s+");
        int len=0,num=0;
        for(String s:ss){
            num+=s.length();
            len++;
        }
        
        int space = text.length()-num;
        if(len==1){
            StringBuilder sbu1 =  new StringBuilder();
            for(int i=0;i<space;i++) sbu1.append(" ");
            return ss[0]+sbu1.toString();
        }
        int kong = space/(len-1);
        StringBuilder sbu =  new StringBuilder();
        for(int i=0;i<kong;i++) sbu.append(" ");
        StringBuilder sbz = new StringBuilder(ss[0]);
        for(int i=1;i<len;i++){
            sbz.append(sbu.toString());
            sbz.append(ss[i]);
        }
        kong = space%(len-1);
        for(int i=0;i<kong;i++) sbz.append(" ");
        return sbz.toString();
    }
}

结果:

img

...全文
7 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
发帖
知识浅谈后端社区

1698

社区成员

知识浅谈(带你学后端)社区,旨在为学习后端的小伙伴提供技术内容共享学习平台,助力每位小伙伴写出高质量代码,欢迎各位小伙伴的加入。
java爬虫后端 个人社区 吉林省·长春市
社区管理员
  • 知识浅谈
加入社区
帖子事件
创建了帖子
2022-09-07 08:33
社区公告

【社区倡导与禁止】

  • 社区倡导积极发帖,互相交流技术问题,学习心得。
  • 社区不限制技术领域,后端内容增加加精权重
  • 社区禁止发布低俗、不健康的内容

【社区积分规则】

  • 在社区「发帖」得10积分
  • 内容被管理员「加精」得10积分
  • 点赞他人内容得1积分
  • 评论内容得2积分