mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
Update 0541.反转字符串II.md
This commit is contained in:
@ -64,22 +64,7 @@ public:
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
class Solution {
|
||||
public:
|
||||
string reverseStr(string s, int k) {
|
||||
int n=s.size(),pos=0;
|
||||
while(pos<n){
|
||||
//剩余字符串大于等于k的情况
|
||||
if(pos+k<n) reverse(s.begin()+pos,s.begin()+pos+k);
|
||||
//剩余字符串不足k的情况
|
||||
else reverse(s.begin()+pos,s.end());
|
||||
pos+=2*k;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
|
||||
那么我们也可以实现自己的reverse函数,其实和题目[344. 反转字符串](https://programmercarl.com/0344.反转字符串.html)道理是一样的。
|
||||
|
||||
@ -110,7 +95,24 @@ public:
|
||||
```
|
||||
|
||||
|
||||
另一种思路的解法
|
||||
|
||||
```CPP
|
||||
class Solution {
|
||||
public:
|
||||
string reverseStr(string s, int k) {
|
||||
int n = s.size(),pos = 0;
|
||||
while(pos < n){
|
||||
//剩余字符串大于等于k的情况
|
||||
if(pos + k < n) reverse(s.begin() + pos, s.begin() + pos + k);
|
||||
//剩余字符串不足k的情况
|
||||
else reverse(s.begin() + pos,s.end());
|
||||
pos += 2 * k;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user