在Python中垂直打印单词

假设我们有一个字符串s。我们必须垂直查找所有单词,顺序与它们在s中出现的顺序相同。这里的单词以字符串列表的形式返回,必要时我们必须用空格来完成。(不允许使用尾随空间)。每个单词只能放在一列上,而在一列中只有一个单词。因此,如果输入字符串是“ HOW ARE YOU”,那么输出将是[“ HAY”,“ ORO”,“ WEU”]

为了解决这个问题,我们将遵循以下步骤-

  • s:=创建一个由空格分隔的字符串列表,创建一个空数组x,设置row = 0

  • 对于s中的每个单词I,设置row:=最大行和i的长度

  • col:= s的长度

  • 制作一个数组并填充空字符串,其大小为该行

  • 因为我的范围是0到col – 1

    • 当i – ans [j]的长度> = 1时,ans [j]:= ans [j]串联“”

    • ans [j]:= ans [j]连接s [i,j]

    • 将j增加1

    • j:= 0

    • 而j <s [i]的长度

    • 返回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中垂直打印单词 的全部内容, 来源链接: utcz.com/z/345520.html

    回到顶部