LeetCode--zigzag-conversion
2018-01-18 19:13
369 查看
题目描述
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".
分析:用一个vector存储每一行的string,用一个变量step确定行号的行走方向,到达第一行时向下,到达最后一行时向上,最后将得到的string按照行号依次连接。
class Solution {
public:
string convert(string s, int nRows) {
if(nRows <= 1)
return s;
vector<string> z(nRows,"");
int step = 1,row = 0;
int l = s.size();
for(int i=0;i<l;i++)
{
z[row] += s[i];
if(row == 0)
step = 1;
else if(row == nRows-1)
step = -1;
row += step;
}
string result = "";
for(int i=0;i<nRows;i++)
result += z[i];
return result;
}
};
相关文章推荐
- Leetcode ZigZag Conversion
- [LeetCode]ZigZag Conversion
- LeetCode 006 ZigZag Conversion
- LeetCode ZigZag Conversion
- Leetcode 6. ZigZag Conversion
- LeetCode: ZigZag Conversion 解题报告
- 题解——Leetcode 6. ZigZag Conversion 难度:Medium
- leetcode ZigZag Conversion
- [LeetCode] Zigzag Conversion
- LeetCode-6-ZigZag Conversion(C语言实现)
- leetcode第6题——*ZigZag Conversion
- 006 ZigZag Conversion [Leetcode]
- [编程练习]ZigZag Conversion <LeetCode-6>
- [LeetCode] ZigZag Conversion 解题报告
- leetcode_c++:ZigZag Conversion(006)
- leetcode ZigZag Conversion
- Leetcode_06_ZigZag Conversion (easy)
- LeetCode 6 ZigZag Conversion (C,C++,Java,Python)
- leetcode ZigZag Conversion
- leetcode6 ZigZag Conversion