ZigZag Conversion(java)
来源:互联网 发布:智能数据的定义 编辑:程序博客网 时间:2024/05/06 01:40
问题描述:
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”.
分析:row从0到numRow,然后对于每一行而言,从该处开始,读取一个gap之外的数据。重复下去
代码如下:396ms,时间复杂度为O(n)
public class Solution { public String convert(String s, int numRows) { if(numRows==1) return s; else if(numRows>=s.length()) return s; char[] res = new char[s.length()]; int resIndex = 0; int gap = numRows*2-2; int gap2; int index; boolean down; boolean up ; for(int i = 0;i<numRows;i++){ index = i; down = true; up = false; if(i==0||i==numRows-1){ while(index<s.length()){ res[resIndex++] = s.charAt(index); index = index+gap; } continue; } while(index<s.length()){ if(down){ gap2 = 2*numRows-2*i-2; res[resIndex++] = s.charAt(index); index = index+gap2; down = false; up = true; }else if(up){ gap2 = 2*i; res[resIndex++] = s.charAt(index); index = index+gap2; down = true; up = false; } } } return new String(res); }}
0 0
- [Leetcode] ZigZag Conversion (Java)
- ZigZag Conversion (Java)
- [Java]leetcode6 ZigZag Conversion
- [LeetCode][Java] ZigZag Conversion
- ZigZag Conversion(java)
- 【leetcode】ZigZag Conversion【java】
- LeetCode : ZigZag Conversion [java]
- ZigZag Conversion(java)
- 6. ZigZag Conversion(JAVA)
- leetcode ZigZag Conversion(Java)
- ZigZag Conversion @leet code java
- [LeetCode Java] 6 ZigZag conversion
- LeetCode 6 : ZigZag Conversion (Java)
- LEETCODE 6 ZigZag Conversion JAVA
- Leetcode: 6. ZigZag Conversion(JAVA)
- LeetCode(java)6. ZigZag Conversion
- [LeetCode-Java]6. ZigZag Conversion
- LeetCode[6] ZigZag Conversion(java)
- 第五章—语句
- Online Judge System For SzNOI 题库 语法百题 C++ d019
- 响应消息的内容类型 text/html; charset=utf-8与绑定(text/xml; charset=utf-8)的内容类型不匹配
- 详解C++中的引用
- 【mysql】数据库经典快速小操作
- ZigZag Conversion(java)
- poll
- 利用VI/VIM编辑字节流文件
- 浅析Objective-C中的Protocol协议
- shell脚本---web监控脚本系列
- 【经验】使用Profiler工具分析内存占用情况
- 使用第三方工具连接linux CentOS 6.5 7,如Xshell连接linux虚拟机很慢
- Android5.1显示YUV格式图片 Demo
- 杭电2072 单词数