leetcode 541 反转字符串II

112 阅读1分钟

C++ 中的 reverse() 函数可以用来反转容器中的元素。以下是使用 reverse() 函数反转向量(vector)的示例代码:

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    vector<int> v = {1, 2, 3, 4, 5};

    // 使用 reverse() 函数反转向量 v
    reverse(v.begin(), v.end());

    // 输出反转后的向量
    for (auto i : v) {
        cout << i << " ";
    }
    cout << endl;

    return 0;
}

输出结果为:

5 4 3 2 1

本题使用c++ reverse函数的题解为

class Solution {
public:
   string reverseStr(string s, int k) {
       auto stringLength =  s.size();
       // 1.每隔2k个字符的前k个进行反转
       // 2.剩余字符小于2k,但大于等于k个,则翻转前k个字符
       for(auto i = 0;i < stringLength;i += 2*k){
           if(i + k > stringLength){
               reverse(s.begin() + i,s.end());
           }else{
               reverse(s.begin() + i,s.begin() + i + k);
           }
       }
       return s;
   }
};