The string “PAYPALISHIRING” is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)

P A H N
A P L S I I G
Y I R
And then read line by line: “PAHNAPLSIIGYIR”
Write the code that will take a string and make this conversion given a number of rows:
string convert(string text, int nRows);
convert(“PAYPALISHIRING”, 3) should return “PAHNAPLSIIGYIR”.

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

这道题找规律即可,循环周期可能比较容易找,周期中间的规律 2 * nRows - 2 - 2 * i 可能不大好找。

public class Solution {  public String convert(String s, int nRows) {  int len = s.length();  if (len == 0 || nRows < 2) return s;  String ret = "";  int lag = 2*nRows - 2; //循环周期  for (int i = 0; i < nRows; i++) {  for (int j = i; j < len; j += lag) {  ret += s.charAt(j);  //非首行和末行时还要加一个  if (i > 0 && i < nRows-1) {  int t = j + lag - 2*i;  if (t < len) {  ret += s.charAt(t);  }  }  }  }  return ret;  }
}  

LeetCode#6 ZigZag Conversion相关推荐

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

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

  2. 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 ...

  3. [LeetCode题解] ZigZag Conversion

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

  4. LeetCode 6. ZigZag Conversion

    原题链接在这里:https://leetcode.com/problems/zigzag-conversion/ 题目: The string "PAYPALISHIRING" i ...

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

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

  6. LeetCode 6 - ZigZag Conversion

    原题如下: The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows ...

  7. 【leetcode】ZigZag Conversion

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

  8. LeetCode 6 ZigZag Conversion(Z型转换)(String)

    翻译 字符串"PAYPALISHIRING"通过一个给定的行数写成如下这种Z型模式: P A H N A P L S I I G Y I R 然后一行一行的读取:"PAH ...

  9. [Leetcode] 6 - ZigZag Conversion

    题目链接:https://oj.leetcode.com/problems/zigzag-conversion/ 找规律的一道题,row往前进2步的话,如果投影在zigzag的路径上,则是走了一个V字 ...

最新文章

  1. Python print函数用法,print 格式化输出
  2. Zabbix如何实现Server和Agent的通信加密
  3. Ubuntu16.04(64位)下面使用Doxygen+Graphviz分析python代码
  4. 社交系统ThinkSNS-plus(TS+)V1.0发布!
  5. 微信支付 SDK 惊爆漏洞:黑客可 0 元购买任意商品
  6. android studio单元测试插件,Android Studio单元测试插件下载
  7. AWVS11安装教程
  8. 计算机485通讯原理,用RS-485设计的多机通信接口电路
  9. 怎么做PPT 课件代做 驼峰设计
  10. Android系统基础介绍
  11. 找素数模板:马氏筛法【复杂度nlgnlgn】
  12. 一文让你通俗理解奇异值分解
  13. 卓聚社区,新发现的全能社区
  14. 传奇开服教程,传奇开服需要学多久? 开传奇sf需要准备什么呢? 开传奇需要多少本钱?---开服流程
  15. 解决:在微信中访问app下载链接提示“已停止访问该网页”
  16. xshell使用技巧
  17. LTE关键技术之一:OFDM
  18. Cuckoo安装指南(二)
  19. 特斯拉蛇形充电机器人_特斯拉也造出蛇形机器人,专为充电使用!
  20. UML教程1:模型图的构成和功能说明

热门文章

  1. 【bulk RNA-seq】DESeq2差异分析 硬核
  2. java 输出流转输入流
  3. 廖雪峰Python学习笔记
  4. 数据库连接池原理详解与自定义连接池实现
  5. (附源码)ssm 网上购物系统 毕业设计 190917
  6. 指数高通滤波器代码_影像组学学习笔记1-2——高通滤波法及应用
  7. 常耀俊老师经典《360人际沟通技巧》课程
  8. bui前端框架+yii整理
  9. elementUI 日期时间选择器添加默认时间
  10. SpringBoot图文教程8 — SpringBoot集成MBG「代码生成器」