LeetCode 6.z字形变换
LeetCode 6.z字形变换
LeetCode 6.z字形变换
将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。
比如输入字符串为 LEETCODEISHIRIG 行数为 时,排列如下:
L C I R
E T O E S I I G
E D H
之后
LeetCode 6.z字形变换
LeetCode 6.z字形变换
将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。
比如输入字符串为 LEETCODEISHIRIG
行数为 时,排列如下:
L C I R
E T O E S I I G
E D H
之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDH”。
请你实现这个将字符串进行指定行数变换的函数:
string convert(string s, int numRows);
示例 1:
输入: s = “LEETCODEISHIRIG”, numRows =
输出: “LCIRETOESIIGEDH”
示例 2:
输入: s = “LEETCODEISHIRIG”, numRows = 4
输出: “LDREOEIIECIHTSG”
解释:
L D R
E O E I I
E C I H
T S G
来源:力扣(LeetCode)
链接:
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
-
思路解析
创建一个字符串数组,用来表示转化后每行的字符串,遍历字符串,把每个字符添加到对应位置。
-
代码
class Solution {
public:string convert(string s, int numRows) {if(numRows==1)return s;int len=s.size();vector<string> sa(numRows);int count=0;int tag=0;for(int i=0;i<len;i){if(count==0)tag=1;if(count==numRows-1) tag=0;if(tag==1){sa[count]=s[i];}else if(tag==0){sa[count--]=s[i];}}string st;for(int i=0;i<numRows;i){st=sa[i];}return st;}
};
-
结果分析
时间复杂度O(n)
空间复杂度O(n)
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2024-01-10 12:38:04
下一篇:历代王姓名人简介
推荐阅读
留言与评论(共有 17 条评论) |
本站网友 中国福利双色球 | 26分钟前 发表 |
“LDREOEIIECIHTSG” 解释 | |
本站网友 女性不孕不育 | 28分钟前 发表 |
代码 class Solution { public | |
本站网友 proxy代理 | 30分钟前 发表 |
“LCIRETOESIIGEDH” 示例 2 | |
本站网友 安哥拉首都 | 13分钟前 发表 |
商业转载请联系官方授权,非商业转载请注明出处 | |
本站网友 今日财经新闻头条 | 9分钟前 发表 |
思路解析 创建一个字符串数组,用来表示转化后每行的字符串,遍历字符串,把每个字符添加到对应位置 | |
本站网友 上海松江出口加工区 | 10分钟前 发表 |
输入 | |
本站网友 中国建投 | 7分钟前 发表 |
思路解析 创建一个字符串数组,用来表示转化后每行的字符串,遍历字符串,把每个字符添加到对应位置 | |
本站网友 财通证券同花顺 | 3分钟前 发表 |
请你实现这个将字符串进行指定行数变换的函数: string convert(string s | |
本站网友 南昌万达广场 | 30分钟前 发表 |
numRows = 4 输出 | |
本站网友 什么是增量房 | 20分钟前 发表 |
“LDREOEIIECIHTSG” 解释 | |
本站网友 失眠了怎么办 | 27分钟前 发表 |
从左到右进行 Z 字形排列 | |
本站网友 41221 | 29分钟前 发表 |
请你实现这个将字符串进行指定行数变换的函数: string convert(string s | |
本站网友 马磊 | 11分钟前 发表 |
请你实现这个将字符串进行指定行数变换的函数: string convert(string s | |
本站网友 首选域 | 8分钟前 发表 |
比如输入字符串为 LEETCODEISHIRIG 行数为 时,排列如下: L C I R E T O E S I I G E D H 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDH” | |
本站网友 大众点评app | 19分钟前 发表 |
“LDREOEIIECIHTSG” 解释 | |
本站网友 香濡饮 | 26分钟前 发表 |
int numRows) {if(numRows==1)return s;int len=s.size();vector<string> sa(numRows);int count=0;int tag=0;for(int i=0;i<len;i){if(count==0)tag=1;if(count==numRows-1) tag=0;if(tag==1){sa[count]=s[i];}else if(tag==0){sa[count--]=s[i];}}string st;for(int i=0;i<numRows;i){st=sa[i];}return st;} }; 结果分析 时间复杂度O(n) 空间复杂度O(n) |