LeetCode-6. ZigZag Conversion (JAVA)(之字形转换)
来源:互联网 发布:纸质书情怀 知乎 编辑:程序博客网 时间:2024/05/16 07:23
6. ZigZag Conversion
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"
.
/** * 将给定的字符串“ABCDEFGHIJK”按照给定的行数写成如下Z型: * A E I * B D F H J * C G K * 然后一行一行的读取:“AEIBDFHJCGK” * @author */public String convert(String s, int numRows) {if (s == null || s.length() == 0 || numRows <= 1) {return s;}StringBuilder res = new StringBuilder(); /* * a e * b d f * c g * 从a到d为一个zig,size: 一个zig的大小 */int size = 2 * numRows - 2;for (int i = 0; i < numRows; i++) {// 外层循环i表示第几行(从0开始)// 内层序号j表示第几个zig(从0开始)for (int j = i; j < s.length(); j += size) {res.append(s.charAt(j));// zig的第一行和最后一行中间的行// 每一个zig有两个元素在同一行,如:b和d在同一行// 同一行中的两个元素之间的距离是:size-2*i(size一个zig的大小,i当前是第几行,从0开始)// 同一个zig中的第一个元素在s中的位置是j,第二个元素在s中的位置是:j+size-2*iif (i > 0 && i < numRows - 1) {int mid = j + size - 2 * i;if (mid < s.length()) {res.append(s.charAt(mid));}}}}return res.toString();}
0 0
- LeetCode-6. ZigZag Conversion (JAVA)(之字形转换)
- LeetCode 6. ZigZag Conversion(之字形)
- LeetCode | 6. ZigZag Conversion(之字形变换)
- [C++]ZigZag Conversion 之字形转换
- Leetcode: 6. ZigZag Conversion(JAVA)
- LeetCode(java)6. ZigZag Conversion
- [LeetCode-Java]6. ZigZag Conversion
- [leetcode]6. ZigZag Conversion(Java)
- 6. ZigZag Conversion 之字形字符判断
- leetcode 6. ZigZag Conversion-Zizag转换
- LeetCode | ZigZag Conversion(锯齿形转换)
- [Leetcode] ZigZag Conversion (Java)
- [LeetCode][Java] ZigZag Conversion
- 【leetcode】ZigZag Conversion【java】
- LeetCode : ZigZag Conversion [java]
- leetcode ZigZag Conversion(Java)
- LeetCode 6. ZigZag Conversion--字符串按之字形放置,然后横向顺序输出
- LeetCode ZigZag Conversion 打印之字形字符图案 带打印程序
- 通过扩展让ASP.NET Web API支持JSONP ----- .NET 4.0 asp.net WebApi(不是WebApi 2)
- R<给*apply函数族中的FUN传递多个参数>
- Tensorflow 入门
- JavaScript 函数的定义-调用、注意事项
- Map集合的四种遍历方式
- LeetCode-6. ZigZag Conversion (JAVA)(之字形转换)
- activiti监听类加载不了spring
- 浅析 JNDI / DataSource / ConnectionPool 三者
- jQuery学习笔记-----------(显示、淡入淡出、滑动、动画、callback、链接)
- 仿arrow.io之地图
- 小米手机 开启应用调试功能,红米 无法开启logcat打印功能
- 贝塞尔曲线初探
- nvcc fatal : The version ('80100') of the host compiler ('Apple clang') is not supported
- C指针