LeetCode之ZigZag Conversion
来源:互联网 发布:淘宝宝贝被管控下架 编辑:程序博客网 时间:2024/05/21 08:46
/*这道题是一道模拟题,只需要找出其中的规律即可。当n=4时,zagzag如下:n=40 6 121 5 7 11 132 4 8 10 143 9 15可以找出如下规律:1.每两个垂直列之间的下标差为2*(n - 1);2.倾斜列的元素的下标与它之前的垂直列的元素的下标差为2*(n - 1 - i),i为该元素对应的行下标。按照上面规律,即可解出该题。方法参考自:https://github.com/soulmachine/leetcode*/class Solution {public:string convert(string s, int nRows) {if(s.size() <= 1 || nRows <= 1) return s;string res;for(int i = 0; i < nRows; ++i){int idx = i;while(idx < s.size()){//将垂直列加入的输出字符串中res += s[idx];if(i > 0 && i < nRows -1 && idx + 2 * (nRows - 1 - i) < s.size()){//如果该元素后面跟随着倾斜列,且字符下标未超出string界限res += s[idx + 2 * (nRows - 1 - i)];}idx += 2 * (nRows - 1);//垂直列移动到下一列}}return res;}};
0 0
- leetcode之ZigZag Conversion
- LeetCode之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算法题之ZigZag Conversion
- LeetCode 之 ZigZag Conversion — C 实现
- leetcode之路006 ZigZag Conversion
- LeetCode进阶之路(ZigZag Conversion)
- leetcode学习之路-ZigZag Conversion
- LeetCode之路——ZigZag Conversion
- LeetCode: ZigZag Conversion
- LeetCode : ZigZag Conversion
- leetcode 13:zigzag conversion
- oracle创建大文件表空间
- Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
- 进程
- 《css知多少》系列完结
- JS中document属性
- LeetCode之ZigZag Conversion
- mongoDB连接池
- View的事件处理机制
- OPENCV与OPENCL
- linux编程-守护进程编写
- Install Goldengate Veridata
- mybatis insert 日期类型字段入库,实际日期数据格式有不同
- OCM考试经验---各种names、name参数
- 程序员,当你写程序写累了怎么办。