LeetCode 189.轮转数组

作者 : admin 本文共350个字,预计阅读时间需要1分钟 发布时间: 2024-06-17 共1人阅读

1.这个题我用的方法比较巧妙,大家如果觉得好的话,就给个免费的赞吧^ _ ^,谢谢了。

void reverse(int* nums,int left,int right)
{
    while(left < right)
   {
    int a = nums[left];
    nums[left] = nums[right];
    nums[right] = a;
    left++;
    right--;
   }
}
void rotate(int* nums, int numsSize, int k) 
{
    if(k >= numsSize)
    k %= numsSize;
    //前n - k个数逆置
    reverse(nums,0,numsSize - k - 1);
    //后k个数逆置
    reverse(nums,numsSize - k,numsSize - 1);
    //全部逆置
    reverse(nums,0,numsSize - 1);
}
本站无任何商业行为
个人在线分享 » LeetCode 189.轮转数组
E-->