Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Runtime: 5 ms, faster than 74.58% of Java online submissions for ZigZag Conversion.
- //Memory Usage: 38.9 MB, less than 80.85% of Java online submissions for ZigZag Conversion.
- class Solution {
- public String convert(String s, int numRows) {
- if(s == null || s.length() < 1 || numRows == 1 || numRows >= s.length()) return s;
- StringBuilder[] sbs = new StringBuilder[numRows];
- for(int i = 1; i < numRows; i++) sbs[i] = new StringBuilder();
- sbs[0] =new StringBuilder(s.length());
- char[] str = s.toCharArray();
- int indx = 0;
- int step = 1;
- for(int i = 0; i < str.length; i++){
- sbs[indx].append(str[i]);
- indx = indx + step;
- if(indx == numRows -1) step = -1;
- else if(indx == 0) step = 1;
- }
- for(int i = 1; i < numRows; i++)sbs[0].append(sbs[i].toString());
- return sbs[0].toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement