某天,我的朋友给我发来一道题,力扣的670
这道题一开始把我难住了,结果是我眼花看错题意了,后来我用了最简单的类似冒泡算法解决了。思路类似于冒泡算法,相邻两两交换,使用了StringBuffer这种采取替换字符串
class Solution {
public int maximumSwap(int num){
String maxi=String.valueOf(num);
int wei=maxi.length();
int maxNum = 0;
for(int i=0;i<wei;i++){
for(int j=i;j<wei;j++){
StringBuffer sb=new StringBuffer(maxi);
char temp=sb.charAt(i);
sb.replace(i,i+1,""+sb.charAt(j));
sb.replace(j,j+1,""+temp);
if(maxNum<Integer.valueOf(sb.toString())){
maxNum=Integer.valueOf(sb.toString());
}
}
}
return maxNum;
}
}