Maximum Swap LeetCode solution in C++

1
class Solution {
2
public:
3
int maximumSwap(int num) {
4
string st_n = to_string(num);
5
int maxNum = -1, maxIdx = -1;
6
int leftidx = -1, rightidx = -1;
7
for (int i = st_n.size() - 1; i >= 0; i--) {
8
if (st_n[i] > maxNum) {
9
maxNum = st_n[i];
10
maxIdx = i;
11
continue;
12
}
13

14
if (st_n[i] < maxNum) {
15
leftidx = i;
16
rightidx = maxIdx;
17
}
18
}
19
if (leftidx == -1) return num;
20

21
swap(st_n[leftidx], st_n[rightidx]);
22
return stoi(st_n);
23
}
24
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0