Swap with the next character and revert the changes . As explained above , swapping with previous is is not needed as it anyways happens for next character .
swap ( str [ index ] , str [ index + 1 ] ) ; findPermutations ( str , index + 2 , n ) ; swap ( str [ index ] , str [ index + 1 ] ) ; }