LeetCode 6. Z 字形变换
原题链接
中等
作者:
MKurisu
,
2020-09-10 22:24:19
,
所有人可见
,
阅读 480
这题比较简单 画图之后找规律即可
时间复杂度应该为$O(n)$
因为事实上只遍历了一遍字符串S
class Solution {
public:
string convert(string s, int numRows) {
string ans = "";
int arr[numRows];
arr[0] = 1;
for(int i = 1 ; i < numRows ; i++) arr[i] = i * 2;
int d = numRows - 1;
int j = d;
for(int i = 0 ; i < numRows ; i++)
{
int k = i;
while(k < s.size())
{
ans += s[k];
if(i != 0 && i != d && k + arr[j - i] < s.size())
ans += s[k + arr[j - i]];
k += arr[d];
}
}
return ans;
}
};