输入:s = "HOW ARE YOU"
输出:["HAY","ORO","WEU"]
解释:每个单词都应该竖直打印。
"HAY"
"ORO"
"WEU"
# 本体的巧妙指出,就是本人想到了zip函数的用法,具体的可以去了解。
# 本道题目的想法由leetcode14的解法 https://leetcode-cn.com/problems/longest-common-prefix/联想得到。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/print-words-vertically
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
from typing import List
class Solution:
def printVertically(self, s: str) -> List[str]:
s = s.split()
res = []
num2 = max(len(x) for x in s)
for i in s:
res.append(i.ljust(num2))
res2 = []
for i in zip(*res):
res2.append("".join(i).rstrip(" "))
return res2
if __name__ == "__main__":
s = Solution()
s2 = "TO BE OR NOT TO BE"
print(s.printVertically(s2))
本文介绍了一种使用Python的zip函数实现将输入字符串垂直打印的方法。通过将字符串分割为单词,并利用zip函数对齐字符,最终去除末尾空格,得到垂直打印的效果。此技巧源于LeetCode题解,适用于处理文本布局问题。
1125

被折叠的 条评论
为什么被折叠?



