Skip to content

Latest commit

 

History

History
37 lines (28 loc) · 876 Bytes

68.md

File metadata and controls

37 lines (28 loc) · 876 Bytes

Text Justification

Description

link


Solution

非常直接的解法,这题的关键在于需要看懂题目,将空格插入对应的位置,就可以了


Code

O(n)

class Solution:
    def fullJustify(self, words, maxWidth):
        """
        :type words: List[str]
        :type maxWidth: int
        :rtype: List[str]
        """
        res, cur, num_of_letters = [], [], 0
        for w in words:
            if num_of_letters + len(w) + len(cur) > 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)
        return res + [' '.join(cur).ljust(maxWidth)]