ZigZag Conversion
来源:互联网 发布:c语言做网页 编辑:程序博客网 时间:2024/06/05 04:31
1.题目
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"
.2.算法
发现所有行的重复周期都是 2 * nRows - 2,对于首行和末行之间的行,还会额外重复一次,重复的这一次距离本周期起始字符的距离是 2 * nRows - 2 - 2 * i
public String convert(String s, int nRows) {if (s == null || s.length() == 0 || nRows <= 0){return "";}StringBuilder sb = new StringBuilder();int size = 2 * nRows - 2;for (int i = 0; i < nRows; i++){for (int j = i; j < s.length(); j += size){sb.append(s.charAt(j));if (i != 0 && i != nRows - 1 && j + size - 2 * i < s.length()){sb.append(j + size - 2 * i);}}}return sb.toString();}
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
- TensorFlow11: 图像分类器 – retrain谷歌Inception模型
- 《大话数据结构》边读边感
- 第一次总结
- 语音识别系统
- AC自动机 学习笔记
- ZigZag Conversion
- FFMPEG编译
- Spring Boot devtools实例
- Akamai与Limelight
- Windows安装TensorFlow(TF更新至0.12版,添加了Windows支持)
- danielgindi/Charts柱形图barChartView使用
- op 豪兰得电流源
- JavaScrpt笔记之第二天
- Android系统权限使用详解