LeetCode OJ ZigZag Conversion
2016-05-11 16:47
393 查看
题目描述:
给定一个字符串和一个行数,数据分布的方式是ZigZag分布,ZigZag的意思是锯齿分布
分析:
看到这道题的时候,我首先不理解ZigZag是啥意思,英语so poor,查了字典后,才知道是锯齿的意思。
知道锯齿就有趣多了
在这里我们用到的是StringBuffer,定义一个StringBuffer数组,根据行数设定StringBuffer的大小
每个StringBuff
er存储对应的那一行,最后把这些行都凑到一起就ok了
给定一个字符串和一个行数,数据分布的方式是ZigZag分布,ZigZag的意思是锯齿分布
分析:
看到这道题的时候,我首先不理解ZigZag是啥意思,英语so poor,查了字典后,才知道是锯齿的意思。
知道锯齿就有趣多了
在这里我们用到的是StringBuffer,定义一个StringBuffer数组,根据行数设定StringBuffer的大小
每个StringBuff
import java.util.Scanner; public class ZigZag{ public String convert(String s, int numRows){ if(numRows < 2){ return s; } StringBuffer[] sb = new StringBuffer[numRows]; int index = 0, incre = 1; for(int i = 0;i<sb.length;i++){ sb[i] = new StringBuffer(" "); } for(int i=0;i<s.length();i++){ sb[index].append(s.charAt(i)); if(index == 0){incre = 1;} if(index == numRows-1){incre = -1;} index += incre; } String re = ""; for(int i=0;i<sb.length;i++){ re+=sb[i]; } return re; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); System.out.println(new ZigZag().convert(str,4)); } }
er存储对应的那一行,最后把这些行都凑到一起就ok了
相关文章推荐
- git的学习(工作区与暂存区)
- string.Format出现异常"输入的字符串格式有误"的解决方法
- c# 使用SqlBulkCopy 提高大数据插入数据库速度
- Android应用开发:Dialog使用及示例
- select----1
- 开源控件NumberCircleProgressBar(圆形进度条)存在两条线的解决方法
- 澳洲人赖特认怂 称不再想证明自己就是比特币发明人
- linux “源代码包”和“二进制包”的区别
- java静态代理和动态代理
- 谈一谈iOS单例模式
- Quartz中时间表达式的设置-----corn表达式
- CentOS6 中文乱码解决
- epoll ---2
- 算法——TOP K问题最小堆实现
- NRF51修改MAC Address
- 十条nmap常用的扫描命令
- cocos2d-x v3.10之ccui.PageView 翻页实现
- Firebug入门指南
- redis3.2新功能--GEO地理位置命令介绍
- Git学习笔记