这道题做的我是相当的蛋疼,题目介绍的zigzag过于简单,然后我没看懂,后来搜索了下才明白,然后编完程序又遇到了麻烦,自己测试通过可是同样的input在IDEA上输出的结果和leedcode OJ上的居然不一样,比如input: "AB",2 在IDEA里输出的是正确的"AB",可是在网上的OJ输出"BA", 本地用的是JDK1.8, OJ用的是JDK1.7,除此之外实在不知道有哪里不同,为什么同样的代码会返回不同的结果。实在找不到问题在哪里了,还望大神们指点。
public static String convert(String s, int nRows) {
String[] text = s.split("");
int num=text.length;
int zuchang = 2*nRows-2;
if(nRows==1) zuchang=1;
//System.out.print(s.length());
if(num<=nRows) return s;
//System.out.print("ok");
String f="";
//int tp=nRows;
for(int i=0;i<nRows;i++){
int j=i;
int tp=zuchang-i-i;
while (j<num){
f=f+text[j];
if(i!=0 && i!=nRows-1 && j+tp<num){
f=f+text[j+tp];
}
j=j+zuchang;
}
}
return f;
}