比較樸素的想法,根據全排列的定義,從nums尾部開始尋找遞減序列(遞減序列本身是不存在下一個序列的),如果整個nums就是一個遞減序列,那么進行重新排序;否則,假設遞減序列的前一個數字為a,找到nums中大于a的最小數,與a換位,然后對a后的序列重新排序。
法1:兩遍掃描,就是我的方法,官方題解講得更清晰一些。優化點是既然后面的序列本身就是遞減序列了,直接雙指針反轉就可以。
全排列