题目链接:https://leetcode.com/problems/text-justification/
题目大意
给出一串单词和每行宽度,要求在单词中塞入空格使之两端对齐并且排版每行为指定宽度。其中每行应该尽可能多的放入单词,单词间的空格应平均分配。无法平分时,左边空格数大于右边空格。最后一行左对齐。
思路
首先遍历所有单词,找出应在一行的单词。依次判断当前行能否塞下下个单词即可。需要注意加入新的单词就意味着至少有一个空格,应把空格加入当前行的长度计算。
确定好每行的单词后,就开始往里塞空格。先平均分配空格,然后计算多余的空格,加在左边的单词中间。然后最后一行因为是左对齐,单独处理就行了。
代码
1 | class Solution { |