1class Solution:2def fullJustify(self, words: List[str], maxwidth: int) -> List[str]:3curr = 04last = []5res = []6for i in words:7if curr + len(i) + len(res) <= maxwidth:8curr += len(i)9res.append(i)10else:11last.append(res)12curr = len(i)13res = [i]14last.append(res)15ans = []16for idx, row in enumerate(last):17x = maxwidth - len("".join(row))18t = len(row) - 119if t == 0:20ans.append(row[0] + " " * (x))21elif idx != len(last) - 1:22spaces = x // t23rem = x % t24res = row[0]25for i in row[1:]:26temp = spaces27if rem:28temp += 129rem -= 130res = res + " " * temp + i31# print(res, temp)32ans.append(res)33else:34res = row[0]35for i in row[1:]:36res = res + " " + i37res = res + " " * (maxwidth - len(res))38ans.append(res)3940return ans