leetcode题目(2)|给你代码

leetcode题目(2)|给你代码


1324. 竖直打印单词

给你一个字符串 s 。 请你按照单词在 s 中的出现顺序将它们全部竖直返回 。 单词应该以字符串列表的形式返回 , 必要时用空格补位 , 但输出尾部的空格需要删除(不允许尾随空格) 。 每个单词只能放在一列上 , 每一列中也只能有一个单词 。

来源:力扣(LeetCode)著作权归领扣网络所有 。 商业转载请联系官方授权 , 非商业转载请注明出处 。

示例 1:

输入:s =\"HOW ARE YOU\"

输出:[\"HAY\"\"ORO\"\"WEU\"

解释:每个单词都应该竖直打印 。

\"HAY\"

\"ORO\"

\"WEU\"

这题首先切割字符串为数组 , 然后得到数组arr 。 然后我想到既然是竖直输出 , 那么就要考虑数组res每项的长度 , 每项的长度理论来讲应该就是之前arr的长度 , 那么数组res的总长度就是数组arr之中最大的项目的长度 。 这样知道了新数组res的长度和每一项的长度 , 就可以根据这2个数值进行从头到尾的遍历 , 每次加上当前的数值就可以了 。 值得注意是的 , 因为arr每一项长度不一样 , 所以遍历的时候会遇到数值为undefined , 这个时候直接附加“ ”就可以了 。

推荐阅读