for i in range(maxWidth - num_of_letters):
cur[i%(len(cur)-1 or 1)] += ' '
最后一行用py的ljust()方法来左对齐。
class Solution:
def fullJustify(self, words: List[str], maxWidth: int) -> List[str]:
res, cur, num_of_letters = [], [], 0
for w in words:
#检查:当前字符数+空格数+新的单词长度
if num_of_letters + len(cur) + len(w) > maxWidth:
#填充括号
for i in range(maxWidth - num_of_letters):
cur[i%(len(cur)-1 or 1)] += ' '
res.append(''.join(cur))
cur = []
num_of_letters = 0
cur += [w]
num_of_letters += len(w)
res += [' '.join(cur).ljust(maxWidth)] #最后一行
return res