前馈知识:
String、StringBuffer与StringBuilder的区别
题目图解:
代码如下:
class Solution { public String convert(String s, int numRows) { if(s==null||s.length()==0||numRows==1){ return s; //当要求只有一行的时候,下面的公式是不符合要求的 } StringBuilder[] array=new StringBuilder[numRows]; for(int i=0;i<numRows;i++){ array[i]=new StringBuilder(); } //开始遍历 int index=0; int dir=1; for(char c:s.toCharArray()){ array[index].append(c); index+=dir; if(index==0||index==numRows-1){ dir=-dir; } } //新建一个新的字符串 StringBuilder result=new StringBuilder(); for(int i=0;i<numRows;i++){ result.append(array[i]); } return result.toString(); } }
原文:https://www.cnblogs.com/resort-033/p/13561066.html