首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Leetcode No.6 Z字形变换

题目描述 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。...比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L     C     I      R E T O E S  I  I  G E    D     H    N...LDREOEIIECIHNTSG" 解释: L       D      R E   O E   I  I E C   I  H   N T      S       G 解题思路 字符串 s 是以 Z字形为顺序存储的字符串...设 numRows 行字符串分别为 s_1, s_2,..., s_n​,则容易发现:按顺序遍历字符串 s 时,每个字符 c 在 Z字形中对应的 行索引 先从 s_1增大至 s_n ,再从 s_n减小至...算法流程: 按顺序遍历字符串 s; array[i].append(c): 把每个字符 c 填入对应行 s_i; i += dir: 更新当前字符 c 对应的行索引; dir= -dir: 在达到 Z字形转折点时

43910

Z 字形变换

题目描述 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。...比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P A H N A P L S I I G Y I R 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串...然后计算出每行下一个字符的偏移量,这里需要分情况讨论: 对于第一行和最后一行:偏移量固定,不随着 Z 的方向改变 对于其他行:偏移量随着 Z 的方向发生变化 class Solution { public...分情况讨论: 对于第一行和最后一行:公差为 2 * (n − 1) 的等差数列,首项是 i 对于其他行:两个公差为 2 * (n − 1) 的等差数列交替排列,首项分别是 i 和 2 * n − i −

56520
领券