将字符串 "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

示例代码

方法一:

#!/usr/bin/python3
import math
def convert(s, numRows):stringBuf =['']*numRowslength = len(s)i = 0while i<length:for idx in range(0,numRows):if i < length:stringBuf[idx] += s[i]i=i+1 for idx in range(numRows-2,0,-1):if idx>=1 and i <length:stringBuf[idx] += s[i]i=i+1result = ""for x in stringBuf:result+=xreturn result
print("input the string:")
str = input()
print("input the num of row:")
num = int(input())
print(convert(str,num))

方法二:

#!/usr/bin/python3
import math
def convert(s, numRows):if numRows == 1 or numRows >= len(s):return sL =['']*numRowsindex,step = 0,1for x in s:L[index] += xif index == 0:step = 1elif index == numRows - 1:step = -1index += stepreturn ''.join(L)
print("input the string:")
str = input()
print("input the num of row:")
num = int(input())
print(convert(str,num))

LeetCode 6 Z字形变换相关推荐

  1. [模拟|字符串] leetcode 6 Z字形变换

    [模拟|字符串] leetcode 6 Z字形变换 1.题目 题目链接 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHI ...

  2. LeetCode 6.z字形变换

    LeetCode 6.z字形变换 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时, ...

  3. Java实现 LeetCode 6 Z字形变换

    6. Z 字形变换 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L ...

  4. LeetCode——6. Z 字形变换

    6. Z 字形变换(中等难度) 题目描述: 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "PAYPALISHIRING ...

  5. LeetCode 6. Z 字形变换(找规律)

    1. 题目 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I ...

  6. Leetcode 006. Z 字形变换 | 每日一题

    题目描述: 将一个给定字符串根据给定的行数,以从上往下.从左到右进行Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I ...

  7. Leetcode 6.Z 字形变换 (每日一题 20210630)

    将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列.比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下:P A ...

  8. leetcode —— 6. Z 字形变换

    将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I R E T ...

  9. LeetCode 6. Z 字形变换 (N字形变换)

    将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P ...

最新文章

  1. c++反射机制(vcl实现),mfc可依样实现
  2. 【原创视频】Docker总体架构设计及各模块原理剖析
  3. android蓝牙固件升级_AirPods Pro 如何升级固件开启「空间音频」?为何「空间音频」未生效?如何体验「空间音频」?...
  4. double click items in SBWP
  5. 隐藏SAP CRM WebClient UI personalization 里某个field
  6. mysql取最大一条数据,mysql取出表中,某字段值最大的一条纪录,sql语句
  7. 聊聊spring cloud gateway的XForwardedHeadersFilter
  8. POJ 1003 解题报告
  9. Eclipse REST 库使用
  10. 玩转matlab之一维 gauss 数值积分公式及matlab源代码
  11. Codeforces 994 C - Two Squares
  12. python生活中可以应用到_学完Python可以应用到工作的哪些应用中?
  13. 【安装包】WinSCP
  14. PGIS 天地图主题颜色背景修改 图片 filter 蓝色 HTML CSS IMG filter 颜色矩阵在线计算 RGBA转换 SVG  feColorMatrix
  15. linux引导文件制作U盘,Linux下制作U盘系统启动盘的方法
  16. 高等教育学备考:教育学概述
  17. JMM(Java Memory Model)
  18. C语言编程之.H文件与.C文件的关系
  19. 【自动控制原理仿真实验】 稳定性及稳态误差实验(实验三)
  20. 站长便民小工具引流网站源码_站长引流工具箱

热门文章

  1. 计算机为什么会出现网络用户,告诉你电脑显示无internet访问权限怎么办
  2. 提高WPF程序性能的几条建议
  3. netty中的future和promise源码分析(二)
  4. OARCLE11G的密码管理
  5. MySql数据库概念
  6. (转)理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER
  7. 《移动数据挖掘》—— 第1章 引言 1.1 移动数据及其价值
  8. Redis持久化实践及数据恢复
  9. ubuntu 安装redis
  10. MyBatis开发重点知识