思路

模拟:用一个标识,标识从上到下还是从下到上

import java.util.*;


public class Solution {
    /**
     * 
     * @param s string字符串 
     * @param nRows int整型 
     * @return string字符串
     */
    public String convert (String s, int nRows) {
        if(nRows==1||s==null||s.length()<=1){return s;}
        String[] res=new String[nRows];
        for(int i=0;i<res.length;i++){
            res[i]="";
        }
        int p=0,f=0;
        for(int i=0;i<s.length();i++){
            res[p]+=s.charAt(i);
            if(p==0){
                p++;
                f=0;
            }else if(p==nRows-1){
                p--;
                f=1;
            }else{
                if(f==1){
                    p--;
                }else{
                    p++;
                }
            }
        }
        String ans="";
        for(int i=0;i<res.length;i++){
                ans+=res[i];
        }
        return ans;
    }
}