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

[leetcode]ZigZag Conversion

时间:2014-07-24 09:51:13      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   

ZigZag Conversion

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".

算法思路:

思路1:

模拟题,找下规律。

代码:

 1 public class Solution {
 2     public String convert(String s, int nRows) {
 3         if(s == null || s.length() <= nRows || nRows == 1) return s;
 4         StringBuilder sb = new StringBuilder();
 5         for(int i = 0; i < nRows; i++){
 6             if(i == 0 || i == nRows - 1){
 7                 int index = i;
 8                 while(index < s.length()){
 9                     sb.append(s.charAt(index));
10                     index += 2 * (nRows - 1);
11                 }
12             }else{
13                 int index = i;
14                 while(index < s.length()){
15                     sb.append(s.charAt(index));
16                     if(index + 2 * nRows - 2 * i - 2 < s.length()){
17                         sb.append(s.charAt(index + 2 * nRows - 2 * i - 2));
18                     }
19                     index += 2 * (nRows - 1);
20                 }
21             }
22         }
23         return sb.toString();
24     }
25 }

[leetcode]ZigZag Conversion,布布扣,bubuko.com

[leetcode]ZigZag Conversion

标签:style   blog   http   color   os   io   

原文地址:http://www.cnblogs.com/huntfor/p/3864307.html

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