难度:简单 (简单题不写题解)
# -*- coding: utf-8 -*-
# @Time : 2022/09/07 7:34
# @Author : WuXuanNlp
# @FileName: 1592. 重新排列单词间的空格.py
# @Software: PyCharm
# @Blog :https://github.com/WuXuanNlp
class Solution:
def reorderSpaces(self, text: str) -> str:
space_num_sum = 0
word = ''
words = []
for e in text:
if e == ' ':
space_num_sum += 1
if word:
words.append(word)
word = ''
else:
word = word + e
if word:
words.append(word)
words_len = len(words)
if words_len > 1:
word_space_num, tail_space_num = divmod(space_num_sum, words_len - 1)
else:
word_space_num = 0
tail_space_num = space_num_sum
res_str = ''
word_space = ' ' * word_space_num
tail_space = ' ' * tail_space_num
for w in words[:-1]:
res_str += w
res_str += word_space
return res_str + words[-1] + tail_space
if __name__ == '__main__':
text = "a"
s = Solution()
print(s.reorderSpaces(text=text))