Z 字形变换

每日一练社区 2021-08-11 11:42:10

将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。

比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下:

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

示例 3:

输入:s = "A", numRows = 1
输出:"A"

 

提示:

  • 1 <= s.length <= 1000
  • s 由英文字母(小写和大写)、',''.' 组成
  • 1 <= numRows <= 1000
...全文
764 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
炼丹小白师 2022-11-12
  • 打赏
  • 举报
回复
麻瓜题,最多三分钟
IT布道 2022-08-19
  • 打赏
  • 举报
回复
选择题,看开始的判断条件就能排查其他几个是错误的了
乾十 2022-05-18
  • 打赏
  • 举报
回复
z找规律吧,Z的前一横和一撇数值是等于它规定的列数乘2减2的,不知道为什么这样取的
  • 打赏
  • 举报
回复
C
  • 打赏
  • 举报
回复 1

这个答案服了,需要写这么多代码吗?哎,https://blog.csdn.net/qq_45404396/article/details/123214117

weixin_57841916 2022-01-18
  • 打赏
  • 举报
回复
看不懂了
软糖工程001 2022-01-09
  • 打赏
  • 举报
回复

https://blog.csdn.net/weixin_47734224/article/details/122399315?spm=1001.2014.3001.5501
写了篇解析,大家可以看一下,错误的地方请指出!谢谢

小廖哥BBA 2021-10-27
  • 打赏
  • 举报
回复
为什么都是错的呀
达鲁呀! 2021-10-08
  • 打赏
  • 举报
回复
答案都看不懂哭了
樰164 2021-09-15
  • 打赏
  • 举报
回复
答案是a,没有解题思路,猜测是z形成的最少个数:上下最少个数、尾巴可重复使用,中间行数(每行一个) 知道个数后求字符串能成多少个Z,然后除不尽有余数的再追加到位置上
jayhgq 2021-09-14
  • 打赏
  • 举报
回复 1
没看懂题,有大佬给讲讲吗?

11,855

社区成员

发帖
与我相关
我的任务
社区描述
Study well and make progress every day
其他 企业社区
社区管理员
  • 每日一练社区
  • CSDN学习
  • 幻灰龙
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧