Maximum Swap LeetCode solution in Java
1class Solution {2public int maximumSwap(int num) {3char str[] = String.valueOf(num).toCharArray();4char arr[] = str.clone();5Arrays.sort(arr);6int i = 0;7int j = str.length - 1;8while (i < str.length && j >= 0 && arr[j] == str[i]) {9i++;10j--;11}12int search = j;13if (i == str.length) return num;14j = str.length - 1;15while (arr[search] != str[j]) {16j--;17}1819char c = str[i];20str[i] = str[j];21str[j] = c;22return Integer.parseInt(new String(str));23}24}