44.Z字形变换

44.Z字形变换

我的flag翻转判断行号时递增还是递减行,但我的拼接字符串没用stringbuilder耗时

class Solution {
    public String convert(String s, int numRows) {

        //当行数为1时直接输出
        if(numRows==1){
            return s;
        }

       //字符串行数的下标
        int count=0;
        String[] strall=new String[numRows];
        for(int i=0;i<numRows;i++){
            strall[i]="";
        }

        //用于判断递增还是递减
        boolean flag=true;//刚开始递增,之后递减


        for(int i=0;i<s.length();i++){
            if(count==numRows-1){
                flag=false;
            }
            if(count==0){
                flag=true;
            }
            if(flag==true){
                strall[count]+=s.charAt(i);
                count++;
            }
            if(flag==false){
                strall[count]+=s.charAt(i);
                count--;
            }

        }

        //拼凑这几行的字符串
        for(int i=1;i<numRows;i++){
            strall[0]+=strall[i];
        }
        return strall[0];

    }
}

44.Z字形变换
大佬的flag做法
44.Z字形变换

上一篇:杨辉三角 (26)


下一篇:用数学规律找字母编排,去解决leedcode上的第6题