LeetCode:ZigZag Conversion
来源:互联网 发布:linux chmod nobody 编辑:程序博客网 时间:2024/05/29 13:56
【版权声明】转载请注明出处:http://www.cnblogs.com/TenosDoIt/p/3738693.html
题目链接
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 NA P L S I I GY 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"
.
题目的意思是把字符串上下上下走之字形状,然后按行输出,比如包含数字0~22的字符串, 给定行数为5,走之字形如下:
现在要按行输出字符,即:0 8 16 1 7 9 15 17 2…….
如果把以上的数字字符看做是字符在原数组的下标, 给定行数为n = 5, 可以发现以下规律:
(1)第一行和最后一行下标间隔都是interval = n*2-2 = 8 ; 本文地址
(2)中间行的间隔是周期性的,第i行的间隔是: interval–2*i, 2*i, interval–2*i, 2*i, interval–2*i, 2*i, …
代码如下,时间复杂度为O(n),n是字符串的长度:
- LeetCode: ZigZag Conversion
- LeetCode : ZigZag Conversion
- leetcode 13:zigzag conversion
- [LeetCode] Zigzag Conversion
- LeetCode 6 - ZigZag Conversion
- Leetcode : ZigZag Conversion
- 【leetcode】Zigzag Conversion
- [LeetCode]ZigZag Conversion
- leetcode ZigZag Conversion
- LeetCode-ZigZag Conversion
- LeetCode ZigZag Conversion
- LeetCode 6: ZigZag Conversion
- leetcode-006:ZigZag Conversion
- Leetcode: ZigZag Conversion
- [LeetCode]ZigZag Conversion
- [LeetCode] ZigZag Conversion
- [LeetCode]ZigZag Conversion
- leetcode: ZigZag Conversion
- 【LeetCode】 003. Longest Substring Without Repeating Characters
- Codeforces Round #384 B. Chloe and the sequence
- Intent意图
- ubuntu 16.04学习笔记之安装Vim以及基本配置
- Node中的HTTP
- LeetCode:ZigZag Conversion
- 实现一个学生的成绩的录入与查询成绩(不算原创,也不算转载,是根据他人代码改动而来)
- 使用border 画三角形
- 优雅编程之这样使用CollectionUtils,你就“正常”了(三十五)
- [AHK]一个按键顶三个
- Leetcode Plus One
- 深入Unity资源格式,实现动态依赖资源加载
- mvc 框架 模板功能 点击并锁定左侧功能菜单项
- 打分现场流程策划及排练大致流程-仅参考