1592.重新排列单词间的空格

在这里插入图片描述
在这里插入图片描述

一、我的思路
遍历一遍,统计空格数量count和单词数量word;然后将单词用【count//(word-1)】个空格拼接,在加上【count%(word-1)】个剩余的空格。

class Solution:
    def reorderSpaces(self, text: str) -> str:
		# 1、统计
        count = 0 # 空字符数量
        word = 0 # 单词数量
        flag = False
        for char in text:
            if char == ' ':
                count += 1
                flag = False # 重新计数单词
            else:
                # cur是字目
                if flag == False:
                    word += 1
                flag = True


        print("count:", count)
        print("word:", word)
		# or 用现成的函数
		# words = text.split()
        # space = text.count(' ')
		
        # 特殊情况
        if word == 1: 
            return text.strip() + " " * count # 去掉前后空格后,将空格加在后面

        # 一般情况 
        interval = count // (word-1)
        remain = count % (word-1)
        # or 用现成的函数
        # per_space, rest_space = divmod(space, len(words) - 1)

        print("interval:", interval)
        print("remain:", remain)

        # 拼接答案
        string = " " * interval
        res = string.join(text.split())
        print(res)
        res += " " * remain
        return res

官方答案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值