加强文明网站内容建设,cms 做网站模板,带积分的网站建设,深圳网站建制作题目描述
给你一个字符串s和行数numRows#xff0c;把s字符串按照z字形重新排列。 再从左往右进行读取#xff0c;返回读取之后的字符串。
本题是找规律#xff0c;但是没有找出来
解题思路
要想解出来该题#xff0c;在进行z字变换的时候#xff0c;我们把字符串的下…题目描述
给你一个字符串s和行数numRows把s字符串按照z字形重新排列。 再从左往右进行读取返回读取之后的字符串。
本题是找规律但是没有找出来
解题思路
要想解出来该题在进行z字变换的时候我们把字符串的下标进行进行变换容易找出规律。
规律如下
代码
class Solution {
public:string convert(string s, int numRows) {//为1时特判if(numRows1) return s;string ret;int d2*numRows-2;for(int i0;inumRows;i){//start2初始为最大为了在第0和第numRows-1行时可以跳出循环int start1i,start2INT_MAX;if(i!0i!numRows-1) start2d-i;while(start1s.size()||start2s.size()){if(start1s.size()) rets[start1],start1d;if(i!0i!numRows-1start2s.size()) rets[start2],start2d;}}return ret;}
};