看到的一道练习题(Z字形字符串输出)


题目:

思路:

代码:

public String convert(String s, int numRows) {
        if(numRows == 1 ){
            return s;
        }
        StringBuffer[] sb = new StringBuffer[numRows];
        for (int i = 0; i < numRows; i++) {
            sb[i] = new StringBuffer();
        }
        int line = 0;
        int row = 0;
        for (int i = 0; i < s.length(); i++) {
           sb[row].append(s.charAt(i));
           if (row == 0)
               line = 1;
           if (row == numRows-1)
               line = -1;
           row += line;
        }
        StringBuffer res = new StringBuffer();
        for (int i = 0; i < numRows; i++) {
            res.append(sb[i]);
        }
        return res.toString();
    }