LeetCode(6) ZigZag Conversion
2015-08-23 17:29
148 查看
题目
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)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”.
分析
思路参考博客,在此表示对博主的感谢。
向下循环:nRows
斜角线循环:nRows-2(减去首尾两个端点)
重复
…
AC代码
class Solution { public: string convert(string s, int numRows) { if (s.empty() || numRows == 1) return s; //声明numRows个字符串,对该之字型序列处理 string *res = new string[numRows]; int i = 0, j, gap = numRows - 2; while (i < s.size()){ for (j = 0; i < s.size() && j < numRows; ++j) res[j] += s[i++]; for (j = gap; i < s.size() && j > 0; --j) res[j] += s[i++]; } string str = ""; for (i = 0; i < numRows; ++i) str += res[i]; return str; } };
GitHub测试程序源码
相关文章推荐
- BNU 39423 最大团
- 黑马学习笔记_面向对象
- noip2012初赛-坐标统计
- win7+IIS+FastCGI+php+mysql
- LeetCode(6) ZigZag Conversion
- Java创建文件夹和JSP下载文件
- qq源码
- hdu--5418Victor and World+状态压缩DP
- BZOJ 3676: [Apio2014]回文串
- 关于是否要进行人生规划
- noip2011初赛-大整数开方
- SIFT算法详解
- 编程之美1.13 威佐夫博奕拓展的分析与论证
- jvm参数调优
- php大力力 [008节]局部表量
- C,C++开源项目中的100个Bugs
- [LeetCode] Insert Interval
- eclipse中使用反射机制时应该注意的问题
- java 时间函数中的一个bug?
- noip2011初赛-子矩阵