LeetCode - ZigZag Conversion

 

      Z字形排列,找规律。

  

public class Solution {
    public String convert(String s, int nRows) {
        StringBuilder[] sbArr = new StringBuilder[nRows];
        for(int p=0; p<nRows; p++) {
            sbArr[p] = new StringBuilder();
        }
        int i = 0, j = 0, gap = nRows - 2;
        while(i < s.length()) {
            for(j=0; j<nRows && i<s.length(); j++,i++) {
                sbArr[j].append(s.charAt(i));
            }
            for(j=gap; j>0 && i<s.length(); j--,i++) {
                sbArr[j].append(s.charAt(i));
            }
        }
        for(int ii=1; ii<nRows; ii++) {
            sbArr[0].append(sbArr[ii]);
        }
        
        return sbArr[0].toString();
    }
}

 

posted @ 2015-03-31 12:21  Pickle  阅读(188)  评论(0编辑  收藏  举报