LeetCode/ZigZagConversion.cpp
2022-04-14 13:35:39 +02:00

27 lines
629 B
C++

#include <string>
using namespace std;
class Solution {
public:
string convert(string s, int numRows) {
if (numRows == 1) return s;
string* zigzag{ new string[numRows]{ } };
int n{ };
bool down{ };
for (int i = 0; i < s.length(); i++)
{
zigzag[n] += s[i];
if (n == numRows - 1|| n == 0) {
down = !down;
}
n += down ? 1 : -1;
}
string result{ };
for (int i = 0; i < numRows; i++)
{
result += zigzag[i];
}
delete[] zigzag;
return result;
}
};