Solutions to high-frequency interview questions of LeetCode in C++17, taking into account both efficiency and comprehensibility.
class Solution {
public:
void rotate(vector<int>& nums, int k) {
std::rotate(nums.rbegin(), nums.rbegin() + k % nums.size(), nums.rend());
}
};
1234 567 => 目标 567 1234
765 4321
567 1234
class Solution {
public:
void rotate(vector<int>& nums, int k) {
k %= nums.size();
reverse(nums.begin(), nums.end());
reverse(nums.begin(), nums.begin() + k);
reverse(nums.begin() + k, nums.end());
}
};