LeetCode―― Z字形变换(Java)

匿名 (未验证) 提交于 2019-12-02 21:53:52

"PAYPALISHIRING"

P   A   H   N A P L S I I G Y   I   R 

之后从左往右,逐行读取字符:"PAHNAPLSIIGYIR"

实现一个将字符串进行指定行数变换的函数:

string convert(string s, int numRows);

输入: s = "PAYPALISHIRING", numRows = 3 输出: "PAHNAPLSIIGYIR" 

输入:输出:解释:  P     I    N A   L S  I G Y A   H R P     I

class Solution {//直接开个二维数组模拟即可     public String convert(String s, int numRows) {         if(numRows==1)         {             return s;         }         int l=s.length();         char map[][]=new char[numRows][l];          for(int i=0;i<numRows;i++)         {             for(int j=0;j<l;j++)             {                 map[i][j]='0';             }         }          int count=0;         for(int i=0;;i++)         {             for(int a=0;a<numRows;a++)             {                 if(count==s.length())                     break;                 map[a][2*i]=s.charAt(count);                 count++;             }             for(int b=numRows-2;b>0;b--)             {                 if(count==s.length())                     break;                 map[b][2*i+1]=s.charAt(count);                 count++;             }             if(count==s.length())                 break;         }         String str="";         for(int i=0;i<numRows;i++)         {             for(int j=0;j<l;j++)             {                 if(map[i][j]!='0')                 {                     str+=map[i][j];                 }             }         }         return str;     } }


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!