ZigZag Conversion @leet code java
2014-11-02 17:19
211 查看
The string
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:
return
public class Solution {
public String convert(String s, int nRows) {
if(s==null||s.length()==0||nRows<=0){return "";}
if(nRows==1){return s;}
StringBuilder sp=new StringBuilder();
int flag=0;
int odd=0;
for(int i=0;i<nRows;i++){
flag=i;
odd=0;
while(flag<s.length()){
sp.append(s.charAt(flag));
if(i==0||i==nRows-1){
flag+=(2*nRows-2);
}else{
if(odd==0){
odd=1;
flag+=2*nRows-2*i-2;
}else{
odd=0;
flag=flag+2*i;
}
}
}
}
return sp.toString();
}
}
"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 String convert(String s, int nRows) {
if(s==null||s.length()==0||nRows<=0){return "";}
if(nRows==1){return s;}
StringBuilder sp=new StringBuilder();
int flag=0;
int odd=0;
for(int i=0;i<nRows;i++){
flag=i;
odd=0;
while(flag<s.length()){
sp.append(s.charAt(flag));
if(i==0||i==nRows-1){
flag+=(2*nRows-2);
}else{
if(odd==0){
odd=1;
flag+=2*nRows-2*i-2;
}else{
odd=0;
flag=flag+2*i;
}
}
}
}
return sp.toString();
}
}
相关文章推荐
- Leet Code 6 ZigZag Conversion - 字符串之字形转换 - Java
- LeeCode ZigZag Conversion
- leet code Binary Tree Zigzag Level Order Traversal
- Java [leetcode 6] ZigZag Conversion
- LeetCode_6_ZigZag Conversion(Java)
- ZigZag Conversion(java)
- [LeetCode][6]ZigZag Conversion解析与特殊解法 -Java实现
- [Leetcode] ZigZag Conversion (Java)
- LeeCode Search in a Big Sorted Array java solution use binary search algorithm
- LeetCode 6 : ZigZag Conversion (Java)
- leecode algo1: Two Sum (Java)
- Leetcode006:ZigZag Conversion的Java解法
- ZigZag Conversion leetcode java
- Combination Sum III Leecode Java
- LeetCode 6 ZigZag Conversion (C,C++,Java,Python)
- LEETCODE 6 ZigZag Conversion JAVA
- 树的最大深度 leecode java
- 树中是否存在路径和为 sum leecode java
- 【LeetCode-面试算法经典-Java实现】【006-ZigZag Conversion(Z字型转换)】
- leetcode06- ZigZag Conversion之Java版本