[leetcode] ZigZag Conversion
来源:互联网 发布:手机 淘宝 降价提醒 编辑:程序博客网 时间:2024/06/01 19:28
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 NA P L S I I GY I RAnd 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"
.思路:
这题没什么意思,就是纯粹的找规律。
发现所有行的重复周期都是 2 * nRows - 2
对于首行和末行之间的行,还会额外重复一次,重复的这一次距离本周期起始字符的距离是 2 * nRows - 2 - 2 * i
参考链接:http://blog.csdn.net/cshaxu/article/details/12507201
代码:
class Solution {public: string convert(string s, int nRows) { if(s.size()==0 || nRows<=0) return ""; if(nRows==1) return s; string res; for(int i=0;i<nRows;i++){ for(int j=i;j<s.size();j+=2*(nRows-1)){ res.push_back(s[j]); if(i>0 && i<nRows-1){ if(j+2*(nRows-1-i)<s.size()){ res.push_back(s[j+2*(nRows-i-1)]); } } } } return res; }};
0 0
- LeetCode: ZigZag Conversion
- LeetCode : ZigZag Conversion
- leetcode 13:zigzag conversion
- [LeetCode] Zigzag Conversion
- LeetCode 6 - ZigZag Conversion
- Leetcode : ZigZag Conversion
- 【leetcode】Zigzag Conversion
- [LeetCode]ZigZag Conversion
- leetcode ZigZag Conversion
- LeetCode-ZigZag Conversion
- LeetCode ZigZag Conversion
- LeetCode 6: ZigZag Conversion
- leetcode-006:ZigZag Conversion
- Leetcode: ZigZag Conversion
- [LeetCode]ZigZag Conversion
- [LeetCode] ZigZag Conversion
- [LeetCode]ZigZag Conversion
- leetcode: ZigZag Conversion
- 【OC学习-27】对象的归档以及解归档——标准数据和自定义数据的例子
- The kayword "new" of CPP programming language
- 嵌入式 数据库增删改查基本语句
- windows与虚拟机linux能ping通设置
- CSS学习笔记
- [leetcode] ZigZag Conversion
- jdk1.7新特性
- Ajax真的不安全?!
- 倒计时的CountDownTimer
- 调试小结
- 04. 类:基础
- 机器学习开源软件
- php常见错误以及解决方案
- uva That Nice Euler Circuit(计算几何 欧拉公式)