leetcode之ZigZag Conversion
来源:互联网 发布:移动网络哪家 编辑:程序博客网 时间:2024/05/18 01:02
原题如下:
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 RAnd 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"
.如果理解了题意,这道题感觉还是比较简单的,只需申请一个nRows大小的字符串向量,然后依次向每个字符串添加字符,最后再将字符串进行串联即可。在添加时注意超过边界时需要回到边界里第二个,所以是加减2,另外就是向前向后添加用flag标记,分别用来加减1操作。
class Solution {public: string convert(string s, int nRows) {if(nRows == 1)return s;vector<string>v(nRows);int count = 0;int flag = 1;//flag为1是向前走,为-1是向后走for(int i = 0; i < s.size(); i++){ if(count < 0){count = count + 2;flag = 1;}else if(count >= nRows){count = count - 2;flag = -1;}v[count].append(1,s[i]);count = count + flag;}for(int i = 1; i < nRows; i++){v[0].append(v[i]);}return v[0]; }};
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
- 使用SeaJS实现模块化JavaScript开发
- mybatis generator 使用
- poj2506--Tiling
- 项目实践
- 栈应用--斐波拉契数列
- leetcode之ZigZag Conversion
- c# 编写Windows服务程序
- 利用WebBrowser控件实现百度自动搜索
- PAT A 1053. Path of Equal Weight (30)
- Javascript 函数parseInt()转换丢失精度出现bug
- Joseph圆圈报数问题解法
- Windows下Nginx的安装与配置
- solr 查询参数说明
- 测试之路一 测试脚本设计和测试场景设置