您的位置:首页 > 游戏 > 手游 > 内网网站搭建教程_专业团队的梗_seo费用价格_桔子seo查询

内网网站搭建教程_专业团队的梗_seo费用价格_桔子seo查询

2025/7/2 7:13:09 来源:https://blog.csdn.net/yiren_liusong/article/details/139305372  浏览:    关键词:内网网站搭建教程_专业团队的梗_seo费用价格_桔子seo查询
内网网站搭建教程_专业团队的梗_seo费用价格_桔子seo查询

6. Z 字形变换 - 力扣(LeetCode)

解法:模拟

思路:把原字符串从上到下依次读取到新字符串中,就需要看看Z字形变换时字符变化的规律。

以行数h=4时为例:

对于第一行和最后一行:

        每一个字符的下标距离为:2*h - 2

对于中间行:

        因为从第一行和最后一行可知,每一个A字符与下一个字符B都有公差的关系,所以只要把这个距离中间的字符X找出来,只要让A和X同时走公差步,就能遍历完一行。

以第二号行为例:A 和 L  要同时走公差步,首先要找到L:d-所在行第一个元素下标

细节

针对示例三,是有一行——>相当于原字符串没变换,直接返回即可。

class Solution 
{
public:string convert(string s, int numRows) {if(numRows == 1)return s;string ret;int d = 2*numRows - 2;//1.第一行for(int i = 0;i<s.size();i += d)ret += s[i];//2.中间行for(int i = 1;i<numRows-1;i++){for(int k = i,j = d-i;k<s.size() || j<s.size();k += d,j += d){if(k < s.size())ret += s[k];if(j < s.size())ret += s[j];}}//3.最后一行for(int i = numRows - 1;i<s.size();i += d) ret += s[i];return ret;}
};

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com