Rotate Array问题及解法

来源:互联网 发布:程序员联合开发王 编辑:程序博客网 时间:2024/05/15 20:13

问题描述:

Rotate an array of n elements to the right by k steps.

示例:

with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].


问题分析:

将一个数组向右旋转k个步长,可以理解为从右边开始,每一次将最右边的元素移到最左端,一共进行k次操作。


过程详见代码:

class Solution {public:    void rotate(vector<int>& nums, int k) {        int len = nums.size();        for(int i = 0;i < k; i++)        {        int t = nums.back();        nums.pop_back();        nums.insert(nums.begin(),t);}    }};


0 0
原创粉丝点击