6. ZigZag Conversion
class Solution {
public String convert(String s, int numRows) {
if (numRows==1) return s;
// key step
// memo[i] represents the string of line i in the ZigZag picture
StringBuilder[] memo = new StringBuilder[numRows];
for(int i=0; i<memo.length; i++){
memo[i] = new StringBuilder();
}
int memoIndex = 0;
int guider=1;
for(int i=0; i<s.length(); i++){
memo[memoIndex].append(s.charAt(i));
if(memoIndex==0){
guider = 1;
}
if (memoIndex == numRows-1){
guider=-1;
}
memoIndex+=guider;
}
for (int i = 1; i<memo.length; i++){
memo[0].append(memo[i]);
}
return memo[0].toString();
}
}
Last updated
Was this helpful?