[leedcode 06]ZigZag Conversion
2015-07-04 22:26
323 查看
public class Solution { public String convert(String s, int numRows) { //本题通过画图numRows=4和numRows=5可以得到规则,主线路距离是2*numRows-2;辅助行是(numRows-i-1)*2 if(numRows<=1)return s;//注意判断 if(s.length()<=numRows) return s; StringBuilder res=new StringBuilder(); int index=0; for(int i=0;i<numRows;i++){//i表示行数,注意范围 for(index=i;index<s.length();index=index+numRows*2-2){ res.append(s.charAt(index)); if(i==0||i==numRows-1)continue;//注意首尾两行 if(index+(numRows-i-1)*2<s.length()){ res.append(s.charAt(index+(numRows-i-1)*2)); } } } return res.toString(); } }
相关文章推荐
- 虚拟机中的centos无法获取ip地址的问题
- 《coredump问题原理探究》Linux x86版7.7节 set对象
- 题目1164:旋转矩阵
- 深入理解Web Service
- 正则到DFA
- android PopupWindow 自适应宽度
- 浙大PatC语言练习50-76
- 实验报告: 人脸识别方法回顾与实验分析 【OpenCV测试方法源码】
- android 通过获得dimens.xml中定义的大小来设置字体的大小
- IOS单例模式(Singleton)
- java学习10--循环结构for语句
- ios项目(四)
- 【阿里巴巴】集团客户服务事业部招聘实习生
- java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
- ldconfig
- PATC语言1-50
- 抢购的实现过程
- android 内存优化方法
- 黑马程序员——Java基础---线程的另一个总结(8)--Semaphere同步工具,控制线程可用线程
- C/S与B/S系统测试的不同点和相同点