LeetCode#6 ZigZag Conversion
来源:互联网 发布:淘宝怎么下架商品 编辑:程序博客网 时间:2024/06/16 03:42
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”.
第一次看到这个题目的人,可能不知道ZigZag是什么意思,简单解释一下,就是把字符串原顺序012345……按下图所示排列:
这道题找规律即可,循环周期可能比较容易找,周期中间的规律 2 * nRows - 2 - 2 * i 可能不大好找。
public class Solution { public String convert(String s, int nRows) { int len = s.length(); if (len == 0 || nRows < 2) return s; String ret = ""; int lag = 2*nRows - 2; //循环周期 for (int i = 0; i < nRows; i++) { for (int j = i; j < len; j += lag) { ret += s.charAt(j); //非首行和末行时还要加一个 if (i > 0 && i < nRows-1) { int t = j + lag - 2*i; if (t < len) { ret += s.charAt(t); } } } } return ret; } }
阅读全文
0 0
- LeetCode 6 - ZigZag Conversion
- LeetCode 6: ZigZag Conversion
- LeetCode(6)ZigZag Conversion
- Leetcode【6】:ZigZag Conversion
- [leetcode 6] ZigZag Conversion
- LeetCode 6 ZigZag Conversion
- LeetCode(6) ZigZag Conversion
- [Leetcode] 6 - ZigZag Conversion
- LeetCode 6:《ZigZag Conversion》
- [leetcode 6] ZigZag Conversion
- LeetCode | #6 ZigZag Conversion
- [leetcode] 6 ZigZag Conversion
- leetCode #6 ZigZag Conversion
- leetcode 6 ZigZag Conversion
- leetcode-6 ZigZag Conversion
- leetcode 6 ZigZag Conversion
- LeetCode 6 - ZigZag Conversion
- leetcode 6ZigZag Conversion
- AFN 判断网络连接类型
- [awk]练习1
- bzoj2662: [BeiJing wc2012]冻结
- C内存管理
- DAY33继承实现原理、子类调用父类的方法、封装
- LeetCode#6 ZigZag Conversion
- python3.5 安装python3-tk
- BottomNavigationBar底部导航栏
- Windows13
- [贪心 构造] SRM 717 div1 ScoresSequence
- Windows14
- 工厂方法模式
- Windows下的Django安装与环境配置
- UVA 230