Maximum Swap LeetCode solution in Java

1
class Solution {
2
public int maximumSwap(int num) {
3
char str[] = String.valueOf(num).toCharArray();
4
char arr[] = str.clone();
5
Arrays.sort(arr);
6
int i = 0;
7
int j = str.length - 1;
8
while (i < str.length && j >= 0 && arr[j] == str[i]) {
9
i++;
10
j--;
11
}
12
int search = j;
13
if (i == str.length) return num;
14
j = str.length - 1;
15
while (arr[search] != str[j]) {
16
j--;
17
}
18

19
char c = str[i];
20
str[i] = str[j];
21
str[j] = c;
22
return Integer.parseInt(new String(str));
23
}
24
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0