您的位置:首页 > 其它

LeetCode(31) Next Permutation

2015-07-21 21:50 399 查看
第一次提交后的结果为Line 46: stray ‘\343’ in program,经过排查,原因是将半角空格打成全角空格。

代码如下:

[code]class Solution {
public:
    void nextPermutation(vector<int>& nums) {

        if(nums.size() < 2)

            return;

        int partitionIndex = nums.size() - 2;

        while(partitionIndex >= 0) { 

            if(nums[partitionIndex] >= nums[partitionIndex + 1]) 

                partitionIndex--;

            else 

                break;

        }

        if(partitionIndex == -1) {

            sort(nums.begin(), nums.end());
            return;

        }

        int changeIndex = nums.size() - 1;

        while(true) {

            if(nums[changeIndex] > nums[partitionIndex])

                break;

            else

                changeIndex--;

        }

        swap(nums[partitionIndex], nums[changeIndex]);

        sort(nums.begin() + partitionIndex + 1, nums.end());

        return;

    }
};


参考文章一

参考文章二
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: