public class zigzag转换 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(convert("PAYPALISHIRING",3));
}
public static String convert(String s, int numRows) {
if(numRows==1) return s;
int len=s.length();
StringBuffer []res=new StringBuffer[numRows];
//初始化StringBuffe数组
for(int i=0;i<numRows;i++){
res[i] = new StringBuffer();
}
int i=0;
while(i<len){
for(int j=0;i<len && j<numRows;j++)
res[j].append(s.charAt(i++));
for(int j=numRows-2;i<len && j>0;j--)
res[j].append(s.charAt(i++));
}
//输出
StringBuilder ret=new StringBuilder();
for(int k=0;k<numRows;k++)
ret.append(res[k].toString());
return ret.toString();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(convert("PAYPALISHIRING",3));
}
public static String convert(String s, int numRows) {
if(numRows==1) return s;
int len=s.length();
StringBuffer []res=new StringBuffer[numRows];
//初始化StringBuffe数组
for(int i=0;i<numRows;i++){
res[i] = new StringBuffer();
}
int i=0;
while(i<len){
for(int j=0;i<len && j<numRows;j++)
res[j].append(s.charAt(i++));
for(int j=numRows-2;i<len && j>0;j--)
res[j].append(s.charAt(i++));
}
//输出
StringBuilder ret=new StringBuilder();
for(int k=0;k<numRows;k++)
ret.append(res[k].toString());
return ret.toString();
}
}