541. Reverse String II

来源:互联网 发布:淘宝店铺运动服简介 编辑:程序博客网 时间:2024/04/30 12:30

题目:

Given a string and an integer k, you need to reverse the first k characters for every 2k characters counting from the start of the string. If there are less than k characters left, reverse all of them. If there are less than 2k but greater than or equal to k characters, then reverse the first k characters and left the other as original.

Example:

Input: s = "abcdefg", k = 2Output: "bacdfeg"

Restrictions:
  1. The string consists of lower English letters only.
  2. Length of the given string and k will in the range [1, 10000]
思路:

本题,目的是每隔2k个字符,反转前k个字符,如果剩余不足k个就全部反转。

代码:

class Solution {public:    string reverseStr(string s, int k) {        for(int i =0;i<s.size();i+=2*k)        {            reverse(s.begin()+i,min(s.begin()+i+k,s.end()));        }        return s;    }};


原创粉丝点击