计算机科学基础leetcode刷题字符串 leetcode刷题, 反转字符串 2023-11-01 Source Edit History 541. 反转字符串 II Problem: 541. 反转字符串 II 思路 每隔2k个判断i之后是否还有k个字符串,有就翻转k个,没有就全部翻转 复杂度 时间复杂度: $O(n)$ 空间复杂度: $O(1)$ Code12345678910111213141516171819202122232425262728293031 class Solution {public: string reverseStr(string s, int k) { for (int i = 0; i < s.size(); i += (2 * k)) { // 1. 每隔 2k 个字符的前 k 个字符进行反转 // 2. 剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符 if (i + k <= s.size()) reverse(s.begin() + i, s.begin() + i + k );//剩余字符大于k else reverse(s.begin() + i, s.end());//剩余字符小于k } return s; }};