一.将给定字符串按给定行数 画N ,输出从左往右逐行读取拼成的新字符串

比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:

L   C   I   R
E T O E S I I G
E   D   H   N

之后输出:"LCIRETOESIIGEDHN"

二.思路

一个数组list   n行 一行一个字符串元素

遍历给定的字符串   每次放的地方list[index]  index碰到0会 +1+1 碰到n-1 会-1-1  可以取一个方向dir=+-1  index为index加上这个反向

最后再将字符串拼接成新的字符串

注:当字符串还不够拐弯的时候  行数就是1行的时候

/*** @param {string} s* @param {number} numRows* @return {string}*//*** 一个数组 三个字符元素  遍历  012 往里放  10 12 10这样放*/
var convert = function (s, numRows) {if (s == null || s.length < numRows || numRows == 1) { return s; }let list = new Array(numRows).fill('');let dir = 1;let index = 0;for (let i = 0; i < s.length; i++) {list[index] += s[i];index += dir;if (index == 0 || index == numRows - 1) dir = -dir;}return list.join('');
};

三.知识点

按行排序:

初始化几个非空行,

从左到右迭代 s,将每个字符添加到合适的行。可以使用当前行index和当前方向dir这两个变量对合适的行进行跟踪。

只有当我们向上移动到最上面的行或向下移动到最下面的行时,当前方向才会发生改变。

6. Z 字形变换(给定字符串,画N后逐行拼接成新字符串)相关推荐

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

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

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

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

  3. java z+_Java Z 字形变换

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

  4. leetcode题库:6. Z字形变换

    题目: /**题目:6. Z字形变换(题目地址:https://leetcode-cn.com/problems/zigzag-conversion/description/)  * 将字符串 &qu ...

  5. leetcode第六题Z字形变换心得记录

    算法学习之路-坚持走下去 Z字形变换 题目描述 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行 ...

  6. LeetCode——6. Z 字形变换

    6. Z 字形变换(中等难度) 题目描述: 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "PAYPALISHIRING ...

  7. 图解LeetCode06:Z字形变换

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

  8. Java Z 字形变换

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

  9. Java算法题:Z字形变换

    Java算法题:Z字形变换 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "PAYPALISHIRING" 行 ...

最新文章

  1. python与excel表格-xlrd/xlwt - python与excel表格交互
  2. WRF-Chem User Guide3.9.1.1 部分内容翻译
  3. MariaDB的Aria存储引擎
  4. linux fedora35指定某个固定的启动项作为默认的启动项
  5. 三十二、Java集合中的ArrayList
  6. 手机端适应_不轻易透露的超强技巧!详解iVX中怎样做设备自适应
  7. 男子借款70万前后还了1600万仍未还清,如何避免套路贷?
  8. java interestops_Java Channel.setInterestOps方法代码示例
  9. mysql8.0.13 32位下载_MySQL8.0下载-MySQL数据库8.0下载 v8.0.11官方版(32位/64位)--pc6下载站...
  10. 西河某人_如何使用增强现实祝某人生日快乐
  11. 智慧农业、数字农业、农产品交易、发布供应、采购详情、报价列表、交易订单、供应大厅、采购大厅、发布采购、采购需求、采购订单、在售商品、出售订单、账户中心、洽谈列表、入驻申请、Axure原型、农业数据看板
  12. 国外游戏开发商吐槽:开发VR游戏付账单的钱都赚不到
  13. 网络安全 Security+(SY0-601)学习笔记
  14. 把c的char数组转换为python image的代码
  15. 【 Codeforces Round #395 (Div. 2) D】Timofey and rectangles【四色定理】
  16. Juniper交换机配置命令_学习笔记
  17. 如何搭建职业教育智慧课堂?
  18. 技术驱动创新,带来的创业机遇
  19. 施巍松老师组20-21年工作
  20. 我的JQuery动画

热门文章

  1. SD卡驱动(基于XS128)
  2. 别再提程序员应届年薪20万了,人工智能已经年薪60万了!
  3. 九步教你笔记本开箱验机 联想拯救者安全下车
  4. 论文的研究方法实验方案技术路线
  5. level set 介绍4(水平集方法)
  6. A/libc:fatal signal 11(SIGSEGV).code 1, fault addr 0x0 in tid 26488 (VideoEncoder)
  7. 百度地图 坐标偏移、覆盖物偏移解决方案
  8. 咕咚要和keep们刚正面,闪电战还是持久战?
  9. 彻底删除软件,删除注册列表信息
  10. shouldoverrideurlloading为什么有时候不走_心理学:为什么很多看似不般配的人,往往都能走到最后?...