Leetcode006 ZigZag Conversion

Posted zeroArn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode006 ZigZag Conversion相关的知识,希望对你有一定的参考价值。

 1 /* simple simulation algorithm
 2  * we cann`t make sure the size of the string, 
 3  * so it had better to storage in vector.
 4  * show[] to buffer the new order of the string 
 5  */
 6 class Solution {
 7 public:
 8     string convert(string s, int numRows) {
 9      string result;
10      vector<char> show[numRows];
11      for(int index=0;index<s.size();)   //divide into two parts
12      {
13          for(int i=0;i<numRows;i++)     //simple row full storage
14          {
15              show[i].push_back(s[index++]);
16              if(index==s.size())break;
17          }
18          for(int i=1;i<=numRows-2;i++)  //middle row only only one char storaged
19          {
20              for(int j=numRows-1;j>=0;j--)
21              {
22                  if(i+j==numRows-1)show[j].push_back(s[index++]);
23                  if(index==s.size())break;
24              }
25              if(index==s.size())break;
26          }
27      }
28      for(int i=0;i<numRows;i++)
29      {
30          for(int j=0;j<show[i].size();j++)result+=show[i][j];
31      }
32      return result;
33     }
34 };

 

以上是关于Leetcode006 ZigZag Conversion的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode刷题] - LC006 ZigZag Conversion

No.006:ZigZag Conversion

LeetCode - 6 - ZigZag Conversion

LeetCode Zigzag Iterator

#Leetcode# 6. ZigZag Conversion

leetcode6. ZigZag Conversion