Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.87 KB | None | 0 0
  1. //Runtime: 5 ms, faster than 74.58% of Java online submissions for ZigZag Conversion.
  2. //Memory Usage: 38.9 MB, less than 80.85% of Java online submissions for ZigZag Conversion.
  3. class Solution {
  4.   public String convert(String s, int numRows) {
  5.     if(s == null || s.length() < 1 || numRows == 1 || numRows >= s.length()) return s;
  6.      
  7.     StringBuilder[] sbs = new StringBuilder[numRows];
  8.     for(int i = 1; i < numRows; i++) sbs[i] = new StringBuilder();
  9.     sbs[0] =new StringBuilder(s.length());
  10.    
  11.     char[] str = s.toCharArray();
  12.     int indx = 0;
  13.     int step = 1;
  14.     for(int i = 0; i < str.length; i++){
  15.         sbs[indx].append(str[i]);  
  16.         indx = indx + step;
  17.         if(indx == numRows -1) step = -1;
  18.         else if(indx == 0) step = 1;
  19.     }
  20.     for(int i = 1; i < numRows; i++)sbs[0].append(sbs[i].toString());
  21.     return sbs[0].toString();
  22.   }
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement