diff --git a/java-program/NextPermutation b/java-program/NextPermutation new file mode 100644 index 0000000..2a219cd --- /dev/null +++ b/java-program/NextPermutation @@ -0,0 +1,39 @@ +class Solution { + public void nextPermutation(int[] nums) { + + int i=nums.length-2; + while(i>=0 && nums[i]>=nums[i+1]){ + i--; + } + + if(i>=0) + { + int j=nums.length-1; + while(j>=0 && nums[j]<=nums[i]) + { + j--; + } + swap(nums,i,j); + } + reverse(nums,i+1); + + } + + public void swap(int nums[],int i,int j) + { + int temp=nums[i]; + nums[i]=nums[j]; + nums[j]=temp; + } + + public void reverse(int nums[],int start) + { + int end=nums.length-1; + while(start