首先,直接交换未必是最优,例如4651,你输出6451,实际上5开头才对。 其次,低位的数字需要重组,例如4651,只把45交换是5641,应该把低位重组成最小的,也就是5146。