[leetcode 6] ZigZag Conversion
来源:互联网 发布:网络教育作业答案 编辑:程序博客网 时间:2024/06/03 14:16
Question:
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 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"
.分析:
上图例子中下标顺序为:
04
8
121357911132
6
10
可以看出一个规律就是第0行和第nRows-1行的下标间隔是一样的,为interval = 2*nRows-2;中间行的下标是跳跃的,依次为 interval - 2*i;2*i;interval - 2*i;2*i。。。
所以返回的字符串为nRows个字符串串联的结果;
代码如下:
class Solution {public: string convert(string s, int numRows) { string result = ""; int interval = 2 * numRows - 2; int len = s.size(); if(len <= numRows || numRows == 1) return s; for(int i = 0; i < numRows; ++i){ int pos = i; if(i == 0 || i == numRows-1){ while(pos < len){ result += s[pos]; pos += interval; } } else{ int b = 2 * i; while(pos < len){ result += s[pos]; b = interval - b; pos += b; } } } return result; }};
0 0
- LeetCode 6 - ZigZag Conversion
- LeetCode 6: ZigZag Conversion
- LeetCode(6)ZigZag Conversion
- Leetcode【6】:ZigZag Conversion
- [leetcode 6] ZigZag Conversion
- LeetCode 6 ZigZag Conversion
- LeetCode(6) ZigZag Conversion
- [Leetcode] 6 - ZigZag Conversion
- LeetCode 6:《ZigZag Conversion》
- [leetcode 6] ZigZag Conversion
- LeetCode | #6 ZigZag Conversion
- [leetcode] 6 ZigZag Conversion
- leetCode #6 ZigZag Conversion
- leetcode 6 ZigZag Conversion
- leetcode-6 ZigZag Conversion
- leetcode 6 ZigZag Conversion
- LeetCode 6 - ZigZag Conversion
- leetcode 6ZigZag Conversion
- CList的扩展CGridListEx,可排序的grid表格控件
- 第14周项目2-二叉树排序树中查找的路径
- LeetCode 220 Contains Duplicate III
- 第十二周项目二:操作用邻接表存储的图
- 第9周项目1猴子选大王问题
- [leetcode 6] ZigZag Conversion
- 第十五周项目1--验证算法
- “知原理”题目1
- 第十二周项目4-利用遍历思想求解图问题(4)
- 解决IllegalStateException: Can not perform this action after onSaveInstanceState
- 第十周:二叉树的基本运算及其实现
- 【ASP】OLEDB方式连接各类数据库(sql,access,excel,txt)
- 第十五周--项目4算法验证直接插入排序
- 关于阿里云上Linux装jdk与apache