[LeetCode-Algorithms-6] "ZigZag Conversion" (2017.9.28-WEEK4)

xiaoxiao2021-02-28  4

题目链接:ZigZag Conversion


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) 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) { int size = s.length(); if(size==0 || numRows<=1) return s; string *str=new string[numRows]; int flag=1; int row=0; for(int i=0; i<size; i++){ str[row]+=s[i]; row = row+flag; if(row >= numRows){ row = numRows-2; flag = -1; } if (row < 0){ row = 1; flag = 1; } } string result; for(int i=0; i<numRows; i++){ result += str[i]; } return result; } };


转载请注明原文地址: https://www.6miu.com/read-450272.html