LeetCode6.Z字形变换 JavaScript
栏目: JavaScript · 发布时间: 5年前
内容简介:将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。
LeetCode6.Z字形变换 JavaScript
将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。
比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:
L C I R E T O E S I I G E D H N
之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。
请你实现这个将字符串进行指定行数变换的函数:
string convert(string s, int numRows);
示例 1:
输入: s = "LEETCODEISHIRING", numRows = 3
示例 2:
输入: s = "LEETCODEISHIRING", numRows = 4
输出: "LDREOEIIECIHNTSG"
解释:
L D R E O E I I E C I H N T S G
答案参考:
/** * @param {string} s * @param {number} numRows * @return {string} */ var convert = function(s, numRows) { var len=s.length; var twoRows=2*numRows-2; var str=""; if(len==0||numRows<=1) return s; for(i=0;i<numRows;i++){ for(j=i;j<len;j+=twoRows){ str=str.concat(s.charAt(j)); if(i!=0&&i!=numRows-1&&j-2*i+twoRows<len){ str=str.concat(s.charAt(j-2*i+twoRows)) } } } return str };
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- LeetCode.6 Z 字形变换(zigzag-conversion)(JS)
- 横扫13项中文NLP任务:香侬科技提出汉语字形表征向量Glyce+田字格CNN
- WebGL 入门与实践 --- 坐标系变换 :基本变换原理与算法实现
- 图像变换函数
- foldl 和 foldr 的变换
- OpenGL 使用矩阵变换改变视图
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深度探索C++对象模型
斯坦利•B.李普曼 (Stanley B. Lippman) / 侯捷 / 电子工业出版社 / 2012-1 / 69.00元
作者Lippman参与设计了全世界第一套C++编译程序cfront,这本书就是一位伟大的C++编译程序设计者向你阐述他如何处理各种explicit(明确出现于C++程序代码中)和implicit(隐藏于程序代码背后)的C++语意。 本书专注于C++面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这本书让你知道:一旦你能够了解底层实现模......一起来看看 《深度探索C++对象模型》 这本书的介绍吧!