[LeetCode][JavaScript]ZigZag Conversion
2015-05-31 18:17
591 查看
ZigZag Conversion
The string"PAYPALISHIRING"is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)
P A H N A P L S I I G Y I R
And then read line by line:
"PAHNAPLSIIGYIR"
Write the code that will take a string and make this conversion given a number of rows:
string convert(string text, int nRows);
convert("PAYPALISHIRING", 3)should return
"PAHNAPLSIIGYIR".
https://leetcode.com/problems/zigzag-conversion/
号称easy,我怎么感觉并不是很水...
colDirect标记是走竖的还是走斜的,根据情况调整下标。
该死的js还没有二维数组。
/** * @param {string} s * @param {number} numRows * @return {string} */ var convert = function(s, numRows) { var i, j; if(numRows === 1){ return s; } var count = 0; var colDirect = true; var row = 0, col = 0; var map = []; for(i = 0; i < s.length; i++){ map[i] = []; } for(i = 0; i < s.length; i++){ if(colDirect){ map[row][col] = s[i]; row++; count++; }else{ map[row][col] = s[i]; row--; col++; count++; } if(colDirect && count === numRows){ count = 0; row -= 2; col++; colDirect = false; } if(!colDirect && count === numRows - 2){ count = 0; colDirect = true; } } var res = ""; for(i = 0; i < map.length; i++){ for(j = 0; j < map[i].length; j++){ if(map[i][j]){ res += map[i][j]; } } } return res; };
相关文章推荐
- Json-转换
- Js-字符转换数字
- ExtJs4.2示例中infinite-scroll出现PageMap asked for range which it does not have错误及解决
- [LeetCode][JavaScript]Longest Consecutive Sequence
- JavaScript继承
- Express框架中如何引用ejs模板引擎
- JS获取当前对象大小以及屏幕分辨率等
- JavaScript学习8:DOM进阶
- JS正则表达式详解 转
- ios  与 js 交互 stringByEvaluatingJavaScriptFromString的使用方法
- javascript 和oc交互
- JavaScript模拟alert弹出框
- js正则表达式总结
- <深入理解JavaScript>学习笔记(3)_全面解析Module模式
- JavaScript的调用
- Morris.js-利用JavaScript生成时序图
- 验证(Javascript和正则表达式)
- jstack排查定位线程
- jstack,用于检测死锁
- JS——DOM小结(二)操作节点