数字转成字符串长度本身不大,直接做暴力就行(偷懒) public int solution(int num){ if(num < 10){ return num; } char[] s = String.valueOf(num).toCharArray(); for(int i = 0;i < s.length;++i){ int max = 0; int maxIndex = i; for(int j = i;j < s.length;++j){ if(s[i] - '0' > max){ max = s[i] - '0'; maxIndex = j; } } if(maxIndex != i){ swap(s, i, maxIndex); return Integer.parseInt(new String(s)); } } return num; } private void swap(char[] s, int i1, int i2){ char temp = s[i1]; s[i1] = s[i2]; s[i2] = temp; }
1 2

相关推荐

渴望wlb的牛油果很...:直说卡第一学历不就行了 非得拐弯抹角
点赞 评论 收藏
分享
Java面试先知:我也是和你一样的情况,hr 说等开奖就行了
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务