Leetcode 6. ZigZag Conversion
来源:互联网 发布:网络购彩最新消息2016 编辑:程序博客网 时间:2024/05/16 09:36
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"
.
核心思想:找出循环单元 如上面的例子 当nRows是时,原串的每个字符对应的行数为 1 2 3 2 1 2 3 2 1 2 3 2 1 2 ,很容易看出循环结构为 1 2 3 2 长度为:2*3-2
代码如下:
class Solution {public: string convert(string s, int numRows) { if(numRows==1||s=="") return s; string ss[numRows];//用来存储相应行号的串 int flag;//用来存储原串字母对应行号 for(int i=0;i<s.size();i++){ flag=(i+1)%(2*numRows-2); if(flag>numRows) flag=2*numRows-flag; if(flag==0) flag=2; ss[flag-1]+=s[i]; } string ans; for(int i=0;i<numRows;i++) ans+=ss[i]; return ans; }};
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 6. ZigZag Conversion
- 布局填充为View的三种写法
- PAT1004福尔摩斯的约会
- 并查集学习笔记2
- 冒泡排序+选择排序+快速排序
- Android Mina 与Linux TCP通信-1
- Leetcode 6. ZigZag Conversion
- Java中的线程状态之堵塞
- poj 1852 Ants
- Quartus II 安装教程—FPGA入门教程
- ExpandableListView数据适配,子层加载不同布局的方法
- 博弈论中SG函数的解释与运用
- android tv开发adb 命令
- Python scrapy学习入门
- LeetCode 127 Word Ladder java (看某位大神的解法做出来的)