ZigZag Conversion
来源:互联网 发布:jk制服淘宝店推荐 编辑:程序博客网 时间:2024/06/17 06:20
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"
.
一定考虑所有测试用例再写代码!
可能的情况:
class Solution {public: string convert(string s, int nRows) {string str;if(!s.size() || nRows <= 0)return str;if(s.size() <= nRows)return s;ostringstream os;for(int r = 0; r < nRows; r++){int c = 1,idx = r;os << s[idx];int ood_step = 2 * (nRows - r) - 2;int even_step = 2 * (r + 1) - 2;if(!ood_step && !even_step)ood_step = 1;while(idx < s.size()){if(ood_step && idx + ood_step < s.size())os<< s[idx + ood_step];if(even_step && idx + ood_step + even_step < s.size())os<< s[idx + even_step + ood_step];idx += even_step + ood_step;}}return os.str();} };
0 0
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- Zigzag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- android之 MAT、DDMS 等内存查看工具
- cocos2dx3.1.1版本的手机屏幕适配
- java注解简单示例
- c++ json reader如何遍历key
- LeetCode | #5 Longest Palindromic Substring
- ZigZag Conversion
- UVa 132 Another Chocolate Maniac(状压DP)
- 如何查看加密过的SQL Server procedure
- Tomcat启动时类加载顺序
- [story]Linux下查看内存使用情况方法总结
- XP 删除与添加服务!
- Oracle中通过游标执行带参数的存储过程实现解析CLOB字段内的xml字符串:
- USB枚举过程
- 进程与线程的一个简单解释