一、思路:

对于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 字形排列。相关推荐

  1. Leetcode06.将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。

    文章目录 一.题目 二.数学规律法解题思路 1.特殊情况 2.进行周期分析 3.同行相邻点的位置分析 4.注意事项 5.代码实现 三.模拟法 一.题目 将一个给定字符串 s 根据给定的行数 numRo ...

  2. LeetCode 6. Z 字形变换(找规律)

    1. 题目 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I ...

  3. [模拟|字符串] leetcode 6 Z字形变换

    [模拟|字符串] leetcode 6 Z字形变换 1.题目 题目链接 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHI ...

  4. Leetcode 006. Z 字形变换 | 每日一题

    题目描述: 将一个给定字符串根据给定的行数,以从上往下.从左到右进行Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I ...

  5. Java实现 LeetCode 6 Z字形变换

    6. Z 字形变换 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L ...

  6. java编写字母z算法_【Java】【每日算法/刷穿 LeetCode】6. Z 字形变换(中等)

    首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]6. Z 字形变换(中等) 宫水三叶发布于 今天 12:03 题目描述 将一个给定字符串 s 根据给定的行数 numRows , ...

  7. LeetCode 6.z字形变换

    LeetCode 6.z字形变换 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时, ...

  8. Z 字形变换 C++实现 java实现 leetcode系列(六)

    Z 字形变换  java实现 C++实现  将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 ...

  9. Leetcode 6.Z 字形变换 (每日一题 20210630)

    将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列.比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下:P A ...

最新文章

  1. 周志华:严肃的研究者就不该去触碰强人工智能
  2. manjaro 宝塔面板_宝塔Linux面板FTP无法连接的解决办法
  3. 已经入门了C++,后面的路怎么走?
  4. type pdf c语言课程设计,c语言课程设计-.pdf
  5. django css,Django表单中的CSS样式
  6. mysql服务remove失败_《MySQL数据库》MySql简介、下载与安装
  7. Git 常用术语 WIP PTAL CC LGTM 解释
  8. iMazing v2021绿色便携版iOS设备数据管理工具
  9. 善于学习——总结经验
  10. zookeeper原理:分布式协同技术
  11. css中的单位换算_CSS中各种长度单位总结
  12. 【Python机器学习】聚类算法任务,评价指标SC、DBI、ZQ等系数详解和实战演示(附源码 图文解释)
  13. Android事件分发浅谈
  14. webpack配置指定文件不打包
  15. iterm上安装oh-my-zsh连接失败
  16. 什么是智能双线机房和BGP智能双线机房的原理
  17. 你的健身房今年跑路了吗?不要紧,“魔镜”才是家庭健身的未来!
  18. ssl模拟赛(2019.3.2 )
  19. AR9331刷openwrt。
  20. tiktok跨境电商平台是什么?要收费吗?现在可以做吗?

热门文章

  1. svn 怎么直接同步指定服务器的某个文件夹
  2. Effective C++ -----条款06:若不想使用编译器自动生成的函数,就该明确拒绝
  3. Ubuntu编译安装VASP
  4. android7.1增加一个开机自启动的bin应用遇到的权限问题
  5. 什么是menuconfig和menuconfig的使用方法和技巧
  6. 高通thermal-engine配置文件格式
  7. WINCE+6410 拨号上网
  8. S3C2443时钟管理
  9. php 设置时区_为什么没有 Asia/Beijing 时区?
  10. 在使用chrome调试angular2的时候出现下面问题