标签:leetcode解题报告 算法 java 面试题
对输入字符串,做蛇形变化,然后按行输出。 matrix[1] = matrix[1] + "I";
matrix[0] = matrix[0] + "N"; matrix[1] = matrix[1] + "G";
public class Solution { public String convert(String s, int nRows) { if(s.length()==1||nRows==1) { <span style="white-space:pre"> </span>return s; } StringBuffer[] matrix = new StringBuffer[nRows]; int i = 0, end = nRows - 2, index = 0; for(i=0;i<nRows;i++) { <span style="white-space:pre"> </span>matrix[i] = new StringBuffer(""); } while(index<s.length()) { //向下扩展 <span style="white-space:pre"> </span>for(i=0;index<s.length()&&i<=(nRows-1);i++) { matrix[i].append(s.charAt(index++)); } //斜上扩展,也就是向上 for(end=nRows-2;index<s.length()&&end>0;end--) { matrix[end].append(s.charAt(index++)); } } StringBuffer result = new StringBuffer(""); for(int a=0;a<nRows;a++) { result.append(matrix[a]); } //System.out.println("result="+result.toString()); return result.toString(); } }
LeetCode ZigZag Conversion 解题报告
标签:leetcode解题报告 算法 java 面试题
原文地址:http://blog.csdn.net/worldwindjp/article/details/41928401