6. ZigZag Conversion

    xiaoxiao2021-11-30  21

    The string “PAYPALISHIRING” is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)

    P A H N A P L S I I G Y I R And then read line by line: “PAHNAPLSIIGYIR” Write the code that will take a string and make this conversion given a number of rows:

    string convert(string text, int nRows); convert(“PAYPALISHIRING”, 3) should return “PAHNAPLSIIGYIR”.

    class Solution { public: string convert(string s, int numRows) { if(s.size()==0||s.size()==1) return s; string str[numRows]; string result=""; int count=0; bool mark=true; for(int i=0;i<s.size();i++) { str[count]=str[count]+s[i]; if(count==numRows-1) mark=false; else if(count==0) mark=true; if(mark&&(numRows>count+1)) count++; else if(mark==false&&count!=0) count--; } for(int i=0;i<numRows;i++) { result=result+str[i]; } return result; } };
    转载请注明原文地址: https://ju.6miu.com/read-679139.html

    最新回复(0)