ZigZag Conversion(Z形排列的字符/数,求其横向观察结果)
来源:互联网 发布:淘宝云客服工资多少 编辑:程序博客网 时间:2024/04/29 15:37
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"
.
Solutions:
第一行和最后一行单独对待,其两字符之间相距2×(numRows-1)。
对于中间的第i(从0计数)行,若上一次两字符之间距离相距2×(numRows-i-1),则本次相距则为2×i。
class Solution {public: string convert(string s, int numRows) { string ret;if(numRows >= s.size() || numRows == 1) {return s;}int i=0, loc=0;int gap=2*(numRows-1);for(loc=0; loc<s.size(); loc+=gap) {ret+=s[loc];}for(i=1; i<numRows-1; ++i) {bool flag=false;for(loc=i; loc<s.size(); ){if(flag == false) {ret+=s[loc];loc+=2*(numRows-i-1);flag=true;} else {ret+=s[loc];loc+=2*i;flag=false;}}}for(loc=numRows-1; loc<s.size(); loc+=gap) {ret+=s[loc];}return ret; }};
0 0
- ZigZag Conversion(Z形排列的字符/数,求其横向观察结果)
- ZigZag Conversion(“Z”形转换)
- ZigZag Conversion:把字符串改写成Z字排列
- zigzag conversion 字符串的Z字形分离
- leetcode_6. ZigZag Conversion 按行打印ZigZag 后的结果
- LeetCode 6 ZigZag Conversion(Z型转换)(String)
- LeetCode OJ 之 ZigZag Conversion (“Z”转换)
- 6. ZigZag Conversion(Z字形输出数组)
- ZigZag Conversion [Z 型字母转换]
- (LeetCode)ZigZag Conversion --- Z型字符串
- leetcode-6. ZigZag Conversion(Z型字符串)
- 算法练习6. ZigZag Conversion 把一串字符反N方向n行排列
- 6:ZigZag Conversion(锯齿形的转换)
- ZigZag Conversion(java)
- ZigZag Conversion(python)
- sql查询结果的纵向变横向排列
- SQL 查询结果的纵向变横向排列
- SQL 查询结果的纵向变横向排列
- 第三章:数组操作
- JSON:储存和交换文本信息的语法
- phpcms常用接口调用方法
- 分离tableview的datasource , 实现ViewController “瘦身”
- Didn't find class "android.support.v7.widget.RecyclerView"
- ZigZag Conversion(Z形排列的字符/数,求其横向观察结果)
- 欢迎使用CSDN-markdown编辑器
- VMware下Linux如何同步windows的时间
- 联想笔记本的音量热键调节没有提示问题
- 十一月十一
- UVA 10054 The Necklace
- 领域驱动设计和开发实战
- 【iOS】UITableViewCell高度计算(固定高度+自动高度)
- 如何给activity中的控件增加事件响应代码