在 Python 中垂直打印单词
pythonserver side programmingprogramming更新于 2025/11/4 7:40:17
假设我们有一个字符串 s。我们必须按照它们在 s 中出现的顺序垂直查找所有单词。这里单词以字符串列表的形式返回,必要时我们必须用空格填充。(不允许尾随空格)。每个单词只放在一列上,并且一列中只有一个单词。因此,如果输入字符串为"HOW ARE YOU",则输出将为 ["HAY","ORO","WEU"]
要解决这个问题,我们将遵循以下步骤 −
s := 创建一个由空格分隔的字符串列表,创建一个空数组 x,设置 row = 0
对于 s 中的每个单词 I,设置 row := 行的最大值和 i 的长度
col := s 的长度
创建一个数组并填充空字符串,其大小为行
对于 I 在 0 到 col 范围内 – 1
j := 0
当 j < s[i] 的长度
当 i – ans[j] 的长度 >= 1 时,执行 ans[j] := ans[j] 连接 “ ”
ans[j] := ans[j] 连接 s[i, j]
将 j 增加 1
返回 ans
示例 (Python)
让我们看下面的实现,以便更好地理解 −
class Solution(object):
def printVertically(self, s):
s = s.split(" ")
x = []
row = 0
for i in s:
row = max(row, len(i))
col = len(s)
ans = ["" for i in range(row)]
j = 0
for i in range(col):
j = 0
while j < len(s[i]):
#print(j, i)
while i - len(ans[j]) >= 1:
ans[j] += " "
ans[j] += s[i][j]
j += 1
return ans
ob = Solution()
print(ob.printVertically("HOW ARE YOU"))
print(ob.printVertically("TO BE OR NOT TO BE"))
输入
"HOW ARE YOU" "TO BE OR NOT TO BE"
输出
["HAY","ORO","WEU"] ["TBONTB","OEROOE"," T"]
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

