一、我的思路
遍历一遍,统计空格数量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