【解析】

第一次看到这个题目的人,可能不知道ZigZag是什么意思,简单解释一下,就是把字符串原顺序012345……按下图所示排列:

发现所有行的重复周期都是 2 * nRows - 2

对于首行和末行之间的行,还会额外重复一次,重复的这一次距离本周期起始字符的距离是 2 * nRows - 2 - 2 * i

[cpp] view plaincopy
  1. class Solution {
  2. public:
  3. string convert(string s, int nRows) {
  4. // Start typing your C/C++ solution below
  5. // DO NOT write int main() function
  6. string result;
  7. if (nRows < 2) return s;
  8. for (int i = 0;i < nRows;++i) {
  9. for (int j = i;j < s.length();j += 2 * (nRows - 1)) {
  10. result.push_back(s[j]);
  11. if (i > 0 && i < nRows - 1) {
  12. if (j + 2 * (nRows - i - 1) < s.length())
  13. result.push_back(s[j + 2 * (nRows - i - 1)]);
  14. }
  15. }
  16. }
  17. return result;
  18. }
  19. };

转载于:https://www.cnblogs.com/Kobe10/p/6364220.html

(字符串)ZigZag Conversion相关推荐

  1. leetCode 6. ZigZag Conversion 字符串 (上传费劲)

    6. ZigZag Conversion 题目:https://leetcode.com/problems/zigzag-conversion/ 1 2 3 4 5 6 7 8 9 10 11 12 ...

  2. ZigZag Conversion

    ZigZag Conversion 1. Question 给定行数,将某字符串转换为zigzag形式,然后按行输出.zigzag形式如: The string "PAYPALISHIRIN ...

  3. [LeetCode题解] ZigZag Conversion

    原文在这,可以来我blog翻翻哦. 第二天.今天AC掉了一道之前没AC掉的题目... 今天的题目是6. ZigZag Conversion 题目描述: The string "PAYPALI ...

  4. 6——ZigZag Conversion

    六.ZigZag Conversion 锯齿变换 题目大意:输入一个字符串和int型(锯齿层数) 将字符串以锯齿变化重新排序 例: "HAIZEIKEJILAOCHUANZHANG" ...

  5. LeetCode ZigZag Conversion

    题意:给出一个字符串和行数,求字符串zigzag变换后的字符串 如PAYPALISHIRING和行数为3,zigzag形式为 P A H N A P L S I I G Y I R 即结果字符串为PA ...

  6. [LeetCode]ZigZag Conversion

    题目:ZigZag Conversion 一串字符按照Z字形的数组给了我们,要求转成原本的顺序. 思路: 统计"|/"的个数: 竖着的和斜着的下标有对应关系: 竖着的:k = j* ...

  7. [勇者闯LeetCode] 6. ZigZag Conversion

    [勇者闯LeetCode] 6. ZigZag Conversion Description The string "PAYPALISHIRING" is written in a ...

  8. 蜗牛慢慢爬 LeetCode 6. ZigZag Conversion [Difficulty: Medium]

    题目 The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows li ...

  9. ZigZag Conversion leetcode java

    题目: The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows l ...

  10. ZigZag Conversion(“Z”形转换)

    The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like ...

最新文章

  1. WEB SSH Ajaxterm客户端配置(1)
  2. linux 下mongo 基础配置
  3. 图像处理与计算机视觉:基础,经典以及最近发展(1)序
  4. Spring Boot MongoDB 入门
  5. 计算机操作业务知识题库,《计算机操作基础知识题库》.doc
  6. 深入理解AbstractQueuedSynchronizer(AQS)
  7. MySQL索引与Index Condition Pushdown(二)
  8. 小甲鱼python视频第八讲(课后习题)
  9. Fiori note automatic delete deletion scenario
  10. 记账本小程序7天开发记录(第三天)
  11. 云课堂智慧职教计算机作业答案,云课堂智慧职教毛概作业答案
  12. 简单聊聊OpenWrt的UPnP协议
  13. 2021年数据泄露成本报告解读
  14. Grid 不能动态添加数据这是为什么呢!
  15. HBase常用过滤器
  16. 计算机专业的创新方向和创业情况,计算机专业创新创业教育模式探究
  17. ` 这个符号叫什么名字?怎么打出来?
  18. 基于51单片机的温湿度光强二氧化碳气体家庭环境检测proteus仿真
  19. qbo head board debug
  20. loadrunne-- Analysis 分析器

热门文章

  1. 安装MinGW-W64提示cannot download repository.txt
  2. 奇怪的加拿大:一方面大力禁烟,另一方面放松大麻
  3. Linux上RandomAccessFile访问FTP文件出错
  4. 百度计算步行泰山18盘只要15分钟
  5. LINUX上,2080/1080卡不要混插
  6. Eclipse/NSight: methond could not resolved
  7. 从雷声谈云层中的电能
  8. VS中的“该文件可能不存在或已被锁定”错误解决办法
  9. 管理感悟:当领导就要敢于,及时做出决策
  10. 具体化和实例化的应用