leetcode C++ 6. Z 字形变换 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。
一、思路:
对于Z字型的第i行数据为:let temp1=(row-i-1)*2 temp2=i*2
i i+temp1 i+temp1+temp2 1+temp1*2+temp2 1+temp1*2+2*temp ...
二、C++代码:
class Solution {
public:string convert(string s, int numRows) {if (numRows < 2)return s;int N = s.size();string res = s;int count = 0;for (int i = 0; i < numRows; i++) {res[count++] = s[i];int nowPos = i;int temp1 = (numRows - i - 1) * 2;int temp2 = 2 * i;while (nowPos < N) {nowPos += temp1;if (nowPos >= N)break;if (i != numRows - 1)res[count++] = s[nowPos];if (i == 0)continue;nowPos += temp2;if (nowPos < N)res[count++] = s[nowPos];}}return res;}
};
leetcode C++ 6. Z 字形变换 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。相关推荐
- Leetcode06.将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。
文章目录 一.题目 二.数学规律法解题思路 1.特殊情况 2.进行周期分析 3.同行相邻点的位置分析 4.注意事项 5.代码实现 三.模拟法 一.题目 将一个给定字符串 s 根据给定的行数 numRo ...
- LeetCode 6. Z 字形变换(找规律)
1. 题目 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I ...
- [模拟|字符串] leetcode 6 Z字形变换
[模拟|字符串] leetcode 6 Z字形变换 1.题目 题目链接 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHI ...
- Leetcode 006. Z 字形变换 | 每日一题
题目描述: 将一个给定字符串根据给定的行数,以从上往下.从左到右进行Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I ...
- Java实现 LeetCode 6 Z字形变换
6. Z 字形变换 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L ...
- java编写字母z算法_【Java】【每日算法/刷穿 LeetCode】6. Z 字形变换(中等)
首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]6. Z 字形变换(中等) 宫水三叶发布于 今天 12:03 题目描述 将一个给定字符串 s 根据给定的行数 numRows , ...
- LeetCode 6.z字形变换
LeetCode 6.z字形变换 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时, ...
- Z 字形变换 C++实现 java实现 leetcode系列(六)
Z 字形变换 java实现 C++实现 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 ...
- Leetcode 6.Z 字形变换 (每日一题 20210630)
将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列.比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下:P A ...
最新文章
- 周志华:严肃的研究者就不该去触碰强人工智能
- manjaro 宝塔面板_宝塔Linux面板FTP无法连接的解决办法
- 已经入门了C++,后面的路怎么走?
- type pdf c语言课程设计,c语言课程设计-.pdf
- django css,Django表单中的CSS样式
- mysql服务remove失败_《MySQL数据库》MySql简介、下载与安装
- Git 常用术语 WIP PTAL CC LGTM 解释
- iMazing v2021绿色便携版iOS设备数据管理工具
- 善于学习——总结经验
- zookeeper原理:分布式协同技术
- css中的单位换算_CSS中各种长度单位总结
- 【Python机器学习】聚类算法任务,评价指标SC、DBI、ZQ等系数详解和实战演示(附源码 图文解释)
- Android事件分发浅谈
- webpack配置指定文件不打包
- iterm上安装oh-my-zsh连接失败
- 什么是智能双线机房和BGP智能双线机房的原理
- 你的健身房今年跑路了吗?不要紧,“魔镜”才是家庭健身的未来!
- ssl模拟赛(2019.3.2 )
- AR9331刷openwrt。
- tiktok跨境电商平台是什么?要收费吗?现在可以做吗?
热门文章
- svn 怎么直接同步指定服务器的某个文件夹
- Effective C++ -----条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- Ubuntu编译安装VASP
- android7.1增加一个开机自启动的bin应用遇到的权限问题
- 什么是menuconfig和menuconfig的使用方法和技巧
- 高通thermal-engine配置文件格式
- WINCE+6410 拨号上网
- S3C2443时钟管理
- php 设置时区_为什么没有 Asia/Beijing 时区?
- 在使用chrome调试angular2的时候出现下面问题