@@ -0,0 +1,756 @@
+public class Solution %7B%0A    public String convert(String s, int numRows) %7B%0A        char%5B%5D c = s.toCharArray();%0A        int len = c.length;%0A        StringBuilder%5B%5D rows = new StringBuilder%5BnumRows%5D;%0A        for(int i = 0; i %3C numRows; i++) %7B%0A            rows%5Bi%5D = new StringBuilder();%0A        %7D%0A            %0A        int idx = 0; // trace the whole s%0A        while(idx %3C len) %7B%0A            for(int i = 0; i %3C numRows && idx %3C len; i++) %7B%0A                rows%5Bi%5D.append(c%5Bidx++%5D);%0A            %7D%0A            for(int i = numRows - 2; i %3E= 1 && idx %3C len; i--) %7B%0A                rows%5Bi%5D.append(c%5Bidx++%5D);%0A            %7D%0A        %7D%0A        for(int i = 1; i %3C numRows; i++) %7B%0A            rows%5B0%5D.append(rows%5Bi%5D);%0A        %7D%0A        return rows%5B0%5D.toString();%0A    %7D%0A%7D%0A

Create ZigZagConversion.java