1324. 竖直打印单词

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

示例 1:

输入:s = "HOW ARE YOU"
输出:["HAY","ORO","WEU"]
解释:每个单词都应该竖直打印。 
 "HAY"
 "ORO"
 "WEU"

1.暴力

class Solution:
    def printVertically(self, s: str) -> List[str]:
        m=max([ len(one) for one in s.split()])
        s=s.split()
        for i in range(len(s)):
            if len(s[i])!=m:
                s[i]+=(m-len(s[i]))*' '
        #补齐成一样的长度
        res=[]
        #遍历每一个位置,每个位置取每个词中相对应的字母
        for i in range(m):
            tmp=[]
            for j in range(len(s)):
                tmp.append(s[j][i])
            res.append(''.join(tmp).rstrip())
        return res
                
class Solution:
    def printVertically(self, s: str) -> List[str]:
        words=s.split()
        maxlen=max(len(w) for w in words)
        res=[]
        for i in range(maxlen):
            tmp = "".join([w[i] if i<len(w) else " " for w in words])
            res.append(tmp.rstrip())
        return res

 

©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页