通过指针的思想交换元素,需要注意的是,python列表在做交换为了不影响原列表,需要copy操作
class Solution:
def maximumSwap(self, num: int) -> int:
tmp = [i for i in str(num)]
ret1 = ''.join(sorted(tmp, reverse=True))
if int(ret1) == num:
return num
ret = []
for i in range(len(tmp)):
for j in range(len(tmp)):
tm = tmp.copy()
if j > i:
tm[j], tm[i] = tmp[i], tmp[j]
t = ''.join(tm)
ret.append(int(t))
return max(ret)