Recover Rotated Sorted Array
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
public void recoverRotatedSortedArray(ArrayList<Integer> nums) { // write your code for(int i = 0; i < nums.size()-1; i++){ if(nums.get(i) > nums.get(i+1)){ reverse(nums,0,i); reverse(nums,i+1,nums.size()-1); reverse(nums,0,nums.size()-1); break; } } } public void reverse(ArrayList<Integer> nums, int i, int j) { while(i < j) { Integer tmp = nums.get(i); nums.set(i,nums.get(j)); nums.set(j,tmp); i++; j--; } } |
Leave A Comment