# 将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数:
# P A H N
# A P L S I I G
# Y I R
# 之后从左往右,逐行读取字符:"PAHNAPLSIIGYIR"
# 实现一个将字符串进行指定行数变换的函数:
# string convert(string s, int numRows);
# 示例 1:
# 输入: s = "PAYPALISHIRING", numRows = 3
# 输出: "PAHNAPLSIIGYIR"
# 示例 2:
# 输入: s = "PAYPALISHIRING", numRows = 4
# 输出: "PINALSIGYAHRPI"
# 解释:
#
# P I N
# A L S I G
# Y A H R
# P I
#
#
# 您是否在真实的面试环节中遇到过这道题目呢? 是的没有
#
# 题目难度:
# 中等
# 通过次数:
# 5.7K
# 提交次数:
# 16.5K
# 贡献者:
# LeetCode
class Solution(object):
def convert(self, s, numRows):
str_length = len(s)
node_length = 2*numRows - 2 # 两列之间的差
result = ""
if str_length == 0 or numRows == 0 or numRows == 1:
return s
for i in range(numRows): # 从第一行遍历到最后一行
for j in range(i, str_length, node_length):
result += s[j] # 第一行和最后一行 还有普通行的整列数字
if i != 0 and i != numRows-1 and j - 2*i + node_length < str_length:
result += s[j-2*i+node_length] # 单列行的数字
return result
6. Z字形变换(python3实现)
原文作者:Z字形编排问题
原文地址: https://blog.csdn.net/weixin_37887248/article/details/81452902
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/weixin_37887248/article/details/81452902
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。