LeetCode 344.反转字符串
题目链接: LeetCode344
思路: 定义left、right指针,将两指针对应的值反转即可
class Solution { public: void reverseString(vector<char>& s) { int n = s.size(); for(int left=0,right=n-1;left<right;++left,--right){ swap(s[left],s[right]); } } };
LeetCode 541. 反转字符串II
题目链接: LeetCode541
思路:
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 ); continue; } // 3. 剩余字符少于 k 个,则将剩余字符全部反转。 reverse(s.begin() + i, s.begin() + s.size()); } return s; } };
标签:II,int,反转,随想录,344,541,字符串 From: https://www.cnblogs.com/ygmzj/p/17880299.html