@@ -0,0 +1,1520 @@
+/**%0A *%09Rotate an array of n elements to the right by k steps.%0A *%0A *%09For example, with n = 7 and k = 3, the array %5B1,2,3,4,5,6,7%5D is rotated to %5B5,6,7,1,2,3,4%5D.%09%0A */%0A%0Apublic class RotateArray %7B%0A%0A%09// Time Limite Exceeded%0A%09// public static void rotate(int%5B%5D nums, int k) %7B%0A //        if (nums == null %7C%7C nums.length == 0)%0A //        %09return;%0A //        k = k %25 nums.length;%0A //        while(k-- %3E 0) %7B%0A //        %09int temp = nums%5Bnums.length - 1%5D;%0A //        %09for (int i = nums.length - 2; i %3E= 0; i--) %7B%0A //        %09%09nums%5Bi+1%5D = nums%5Bi%5D;%0A //        %09%7D%0A //        %09nums%5B0%5D = temp;%0A //        %7D%0A //    %7D%0A%0A%09// %E4%B8%89%E6%AC%A1%E7%BF%BB%E8%BD%AC%0A%09public static void rotate(int%5B%5D nums, int k) %7B%0A%09%09if (nums == null %7C%7C nums.length == 0)%0A        %09return;%0A        k = k %25 nums.length;%0A        if (k == 0) %7B%0A        %09return;%0A        %7D%0A        reverse(nums, 0, k);%0A        reverse(nums, k + 1, nums.length - 1);%0A        reverse(nums, 0, nums.length - 1);%0A%09%7D%0A%0A%09public static void reverse(int%5B%5D nums, int left, int right) %7B%0A%09%09while(left %3C right) %7B%0A%09%09%09int temp = nums%5Bleft%5D;%0A%09%09%09nums%5Bleft%5D = nums%5Bright%5D;%0A%09%09%09nums%5Bright%5D = temp;%0A%09%09%09left++;%0A%09%09%09right--;%0A%09%09%7D%0A%09%7D%0A%0A    public static void main(String%5B%5D args) %7B%0A    %09int%5B%5D nums1 = %7B1, 2, 3, 4, 5, 6, 7%7D;%0A    %09rotate(nums1, 0);%0A    %09for (int i = 0; i %3C nums1.length; i++) %7B%0A    %09%09System.out.print(nums1%5Bi%5D + %22 %22);%0A    %09%7D%0A    %09System.out.println();%0A%0A    %09int%5B%5D nums2 = %7B1, 2%7D;%0A    %09rotate(nums2, 0);%0A    %09for (int i = 0; i %3C nums2.length; i++) %7B%0A    %09%09System.out.print(nums2%5Bi%5D + %22 %22);%0A    %09%7D%0A    %09System.out.println();%0A    %7D%0A%7D

add Rotate Array solution