【LeetCode】LeetCode——第6题:ZigZag Conversion
2016-04-19 10:09
465 查看
6. ZigZag Conversion
My SubmissionsQuestion
Editorial Solution
Total Accepted: 84774 Total
Submissions: 354945 Difficulty: Easy
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".
Subscribe to see which companies asked this question
Show Tags
题目的大概意思是:给定一个字符串,按照之字形的扫描方式重新排列成新的字符串。
这道题难度等级:简单
要解这道题,我们需要做的就是找规律,规律如下:
因此,就可以解决题目了,代码如下 :
class Solution { public: string convert(string s, int numRows) { if (numRows == 1){ return s; } string str; int pos = 0; for (int i = 0; i < numRows; ++i){ //hang for (int j = 0; j < s.length() / (2 * numRows - 2) + 2; ++j){ //lie pos = 2 * j * (numRows - 1) + i; int pos2 = pos - 2 * i; if (pos2 >= 0 && pos2 < s.length() && i != 0 && i != numRows - 1){ str.push_back(s[pos2]); } if (pos < s.length()){ str.push_back(s[pos]); } } } return str; } };提交后顺利AC掉该题,Runtime: 20
ms。
相关文章推荐
- 使用Integer.parseInt()需要注意的问题分析
- js手机号码校验,邮箱校验
- R语言︱数据去重
- spark 集群简单配置
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide五大Android开源组件加载网络图片的优缺点比较
- Android之TabHost布局
- 使用maven创建web项目
- 读取服务器端指定大小的内容
- 创建plist并写入内容
- static的作用
- Win10双系统CentOS7安装完无法启动Win10的解决方法
- iOS 7:用代码解决视图控制器的View整体上移问题[转载]
- Android 三种动画详解
- 移动端适配
- 【总结】AC自动机
- 启动关闭RunLoop
- C#拾遗(一)
- LeetCode OJ 142. Linked List Cycle II
- Net Core 跨平台系列之环境部署
- 设计模式学习--(3)