Python垂直打印单词
假设我们有一个字符串s。我们必须按其在s中出现的顺序查找所有垂直方向上的单词。这里单词作为字符串列表返回,我们需要在必要时用空格补齐。(不允许尾随空格)。每个单词只放在一列中,并且一列中只有一个单词。因此,如果输入字符串是“HOW ARE YOU”,则输出将为[“HAY”, “ORO”, “WEU”]。
为了解决这个问题,我们将遵循以下步骤:
s := 将字符串按空格分割成一个字符串列表,创建一个空数组x,设置row = 0
对于s中的每个单词i,设置row := row和i的长度的最大值
col := s的长度
创建一个数组并用空字符串填充,其大小为row
对于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"]
广告
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP