旋转数组(189)

法一:
class Solution:
    def rotate(self, nums: List[int], k: int) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        n = len(nums)
        k %= n
        nums[:] = nums[n-k:]+nums[:n-k]
法二:
class Solution:
    def rotate(self, nums: List[int], k: int) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """

      n = len(nums)
      k %= n
      nums[:] = nums[::-1]
      nums[:k] = nums[:k][::-1]
      nums[k:] = nums[k:][::-1]

法三:

class Solution:
    def rotate(self, nums: List[int], k: int) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """

      n = len(nums)
      k %= n
      for _ in range(k):
      nums.insert(0, nums.pop())

 

原文地址:https://www.cnblogs.com/miaoweiye/p/13424961.html