6. ZigZag Conversion
来源:互联网 发布:linux 重启后存储丢失 编辑:程序博客网 时间:2024/06/05 23:34
6. ZigZag Conversion
问题:将锯齿形排列的字符串恢复成正常便于阅读的顺序。
自己写的:(java)
public class Solution { public String convert(String s, int numRows) { if (s.length() <= 0) { return ""; } if (numRows == 1) { return s; } //将字符串切分成数组,有效位从0开始。 String[] strSplitArray = s.split(""); StringBuffer strResult = new StringBuffer(); for(int rowNumber = 0; rowNumber < numRows; rowNumber++) { if (rowNumber == 0 || rowNumber == numRows-1) { //第一行和最后一行:前一个位置+(numRows-2)+numRows for(int i=rowNumber; i<strSplitArray.length; i=i+numRows*2-2) { strResult.append(strSplitArray[i]); } } else { for(int i=rowNumber,tag=1; i<strSplitArray.length;tag++) { //对于中间行需要分为奇列和偶列两种情况 if (tag%2 != 0) { //对于奇列,也就是前一个位置在第一、三、五..列:前一个位置+(numRows-所在行数)+(numRows-所在行数),这里的所在行数是从1开始的,因此所在行数等于rowNumber+1。 strResult.append(strSplitArray[i]); i=i+2*numRows-2*rowNumber-2; } else { //对于偶列,也就是前一个位置在第二、四、六..列:前一个位置+(所在行数-2)+所在行数,这里的所在行数是从1开始的,因此所在行数等于rowNumber+1。 strResult.append(strSplitArray[i]); i=i+2*rowNumber; } } } } String newStrResult = strResult.toString(); return newStrResult; }}
0 0
- LeetCode 6. ZigZag Conversion
- LeetCode --- 6. ZigZag Conversion
- LeetCode 6.ZigZag Conversion
- [Leetcode] 6. ZigZag Conversion
- 6.ZigZag Conversion
- 6. ZigZag Conversion
- 6. ZigZag Conversion
- 【leetcode】6. ZigZag Conversion
- 6.ZigZag Conversion
- 6. ZigZag Conversion
- 6.ZigZag Conversion
- [LeetCode] 6.ZigZag Conversion
- LeetCode - 6. ZigZag Conversion
- 6. ZigZag Conversion
- 6. ZigZag Conversion
- 6.ZigZag Conversion(93.10%)
- 6. ZigZag Conversion
- [leetcode] 6. ZigZag Conversion
- Go--基础知识学习二
- Android开发笔记(九十五)自定义Drawable
- 正则匹配表达式语法(二)
- MySQL 5.7.12源码安装实例
- Android使用WebView从相册/拍照中添加图片
- 6. ZigZag Conversion
- HTTP报文
- JVM调优总结(5):典型配置
- 随笔-linux常用命令
- UEDITOR FTP上传
- 第十课等于之调用关键调用——C#计算器编程教学
- 正则表达式元字符(三)
- MongoDb的分页查询,游标,存储过程
- Android开发中string.xml文件的使用