leetcode 6.ZigZag Conversion

来源:互联网 发布:sql server语句 编辑:程序博客网 时间:2024/05/20 08:43

题目

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

Subscribe to see which companies asked this question

代码

        注意Sting数组的运用

public class Solution {    public String convert(String s, int nRows) {if(nRows == 1){return s;}String res = "";int len = s.length();String[] arr = new String[nRows];for(int i=0;i<nRows;i++){arr[i] = "";}int row = 0, delta = 1;for(int i=0;i<len;i++){arr[row] += s.charAt(i);row = row+delta;if(row >= nRows){row = row - 2;delta = -1;}if(row < 0){row = 1;delta = 1;}}for(String str:arr){res += str;}return res;}}

参考

http://blog.csdn.net/ljiabin/article/details/40477429

0 0
原创粉丝点击