码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode ZigZag Conversion

时间:2015-03-08 00:06:12      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

PS:边界条件判断不需要计算,用来比较判断就可以了。哎呀,自己还是太嫩啊,老是忘了比较这一招!!!!

代码:

 1 #include<iostream>
 2 #include<string>
 3 
 4 using namespace std;
 5 
 6 string convert(string s, int nRows)
 7 {
 8     if (nRows == 1)
 9         return s;
10     int L = s.length();
11     string result="";
12     for (int i = 0; i < nRows; i++)
13     {
14         if (i == 0||i==nRows-1)
15         {
16             int t = i;
17             while (t < L)
18             {
19                 result.append(1,s[t]);
20                 t = t + 2 * nRows - 2;
21             }
22         }
23         else
24         {
25             int t = i;
26             while (t<L)
27             {
28                 result.append(1, s[t]);
29                 int m = t + 2 * nRows - 2 - 2*i;
30                 if (m < L)
31                 {
32                     result.append(1,s[m]);
33                     t = t + 2 * nRows - 2;
34                 }
35                 else
36                     break;
37             }
38         }
39     }
40     return result;
41 }
42 
43 int main()
44 {
45     cout << convert("ABCDE", 4) << endl;
46 }

 

leetcode ZigZag Conversion

标签:

原文地址:http://www.cnblogs.com/chaiwentao/p/4321154.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!