给定一个字符串num,字符串由0~9的正整数组成,你至多可以交换一次字符串中的任意两位字符,使得交换后的num代表的正整数尽可能大。
1.给定的num不会含有前导0,是一个合法的正整数类型的字符串
2.可以不交换,但是最多只能交换一次
数据范围:
"4556"
"6554"
交换6和4,可以获得最大的正整数6554
"5"
"5"
"8873"
"8873"
不需要交换
char* maximumSwap(char* num ) { int len = strlen(num); int index, tmp; for(int i = 0; i < len; i++) { index = i; for(int j = len - 1; j > i; j--) { if(num[j] > num[index]) { index = j; } } if(index != i) { tmp = num[i]; num[i] = num[index]; num[index] = tmp; break; } } return num; }