Z字形变换
题目链接:https://leetcode-cn.com/problems/zigzag-conversion/
思路:纯找规律,本质上每一行的字母在原字符串中的序号取余都会呈现一定的pattern。
参考代码:
class Solution {public:string convert(string s, int numRows) {if (numRows < 1) {return "";}string res;int loop = numRows * 2 - 2;int gap = loop - 2;for (int i = 0; i < s.size(); i += loop) {res += s[i];}for (int i = 1; i < numRows - 1; ++i) {for (int j = i; j < s.size(); j += loop) {res += s[j];res += s[j + gap];}gap -= 2;}for (int i = numRows - 1; i < s.size(); i += loop) {res += s[i];}return res;}};
