LeetCode-6 ZigZag Conversion(字符串锯齿形输出)
2015-04-17 01:41
323 查看
LeetCode-6 ZigZag Conversion
The string
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)
And then read line by line:
Write the code that will take a string and make this conversion given a number of rows:
Runtime:478 ms
分析:
见代码注释,主要就是分组的方法,然后对多组元素位置遍历。
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".
public class Solution { public static void main(String[] args) { System.out.println(convert("PAYPALISHIRING", 3)); } public static String convert(String s, int nRows) { if (nRows==1) { return s; } char[] schar = s.toCharArray();//后面使用字符的部分改成s.charAt就也可以不开辟这个数组 String output = ""; int grouplen = 2 * (nRows - 1); //①.每2n-2个元素为一组,数组中第0位和第nrow-1位只有一个输出,其他位置每次都输出两个(前提是数组不越界)。 int groupnum = s.length() / grouplen + 1; for (int j = 0; j < nRows; j++) { for (int i = 0; i < groupnum; i++) { if ((grouplen * i + j) < s.length() ) { output += schar[grouplen * i + j]; if (j != 0 && j != nRows-1 && ((i+1)*grouplen - j) < s.length() ) {//① output += schar[((i+1)*grouplen - j)]; } } } } return output; } }
Runtime:478 ms
分析:
见代码注释,主要就是分组的方法,然后对多组元素位置遍历。
相关文章推荐
- LeetCode | Binary Tree Zigzag Level Order Traversal(二叉树锯齿形层序输出)
- [LeetCode-6]ZigZag字符串的变换输出
- LeetCode | ZigZag Conversion(锯齿形转换)
- leetcode----zigzag排列(将字符串按照锯齿形排列C编程)
- Leetcode 6 ZigZag Conversion 字符串处理
- leetcode---zigzag-conversion---字符串
- LeetCode OJ ZigZag Conversion ”之“字符串变化 string操作
- (LeetCode)ZigZag Conversion --- Z型字符串
- LeetCode系列字符串操作(一)ZigZag输出,寻找最大不重复字串长度。
- Lettcode_6_ZigZag Conversion——折线输出给定字符串
- LeetCode 6 ZigZag Conversion (C,C++,Java,Python)
- LeetCode ZigZag Conversion
- LeetCode[6] ZigZag Conversion(java)
- ZigZag Conversion leetcode java
- 【leetcode】ZigZag Conversion【java】
- 6:ZigZag Conversion(锯齿形的转换)
- LeetCode ZigZag Conversion
- [LeetCode]ZigZag Conversion
- Leetcode ZigZag conversion
- [C++]LeetCode 6: ZigZag Conversion(ZigZag排序)