本文主要是介绍2021-03-16(6. Z 字形变换),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
论脑瓜的重要性,完全想不出来。只能想到二维数组模拟。
用Java做这题,确实没有C++熟练。主要是这个StringBuilder用的少了
class Solution {public String convert(String s, int numRows) {if(numRows==1){return s;}List<StringBuilder> rows=new ArrayList<StringBuilder>();for(int i=0;i<Math.min(numRows,s.length());++i){rows.add(new StringBuilder());}int row=0;boolean godown=false; //因为第一次循环直接就变成true了for(char c:s.toCharArray()){rows.get(row).append(c);if(row==0||row==numRows-1){godown=!godown;}row+=godown?1:-1;}StringBuilder ans=new StringBuilder();for(StringBuilder trow:rows){ans.append(trow);}return ans.toString();}
}
这篇关于2021-03-16(6. Z 字形变换)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!