### 344
```C++
class Solution {
public:
void reverseString(vector<char>& s) {
int left=0,right=s.size()-1;
char temp;
while(left<right){
temp=s[right];
s[right]=s[left];
s[left]=temp;
left++;
right--;
}
}
};
```
### 541
```c++
class Solution {
public:
void reverse(string& s,int start,int end){
while(start<end){
swap(s[start++],s[end--]);
}
}
string reverseStr(string s, int k) {
int i=0;
while(i<s.size()){
if(i+k<s.size()&&i+2*k>s.size()){
reverse(s,i,i+k-1);
break;
}else if(i+k>s.size()){
reverse(s,i,s.size()-1);
break;
}
reverse(s,i,i+k-1);
i+=2*k;
}
return s;
}
};
```
### 剑指offer 05
```C++
class Solution {
public:
void replaceSpace(char *str,int length) {
int i=0;
int ordSize=length,count=0;
while(i<length){
if(str[i]==' '){
count++;
}
i++;
}
i=length-1;
for(int j=length+(2*count)-1;j>=0,i<j;i--,j--){
if(str[i]==' '){
str[j--]='0';
str[j--]='2';
str[j]='%';
cout<<str[j]<<endl;
}else{
str[j]=str[i];
}
}
}
};
```
### 剑指offer 58
```c++
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param str string字符串
* @param n int整型
* @return string字符串
*/
void reverse1(string& str, int start,int end){
while(start<end){
swap(str[start++],str[end--]);
}
}
string LeftRotateString(string str, int n) {
// write code here
if(str.empty()){
return str;
}
int m=n%str.length();
reverse1(str,0,m-1);
reverse1(str,m,str.length()-1);
reverse1(str,0,str.length()-1);
return str;
}
};
```
### 151
```C++
class Solution {
public:
void reverse1(string& str, int start,int end){
while(start<end){
swap(str[start++],str[end--]);
}
}
string reverseWords(string s) {
int i=0;
int count=0;
reverse1(s,0,s.length()-1);
while(s[0]==' '){
s.erase(0,1);
}
cout<<s<<endl;
for(int i=0;i<s.length();i++){
if(i>0&&s[i-1]==' '&&s[i]==' '){
s.erase(i,1);
i--;
}
if(s[i]==' '&&i!=0){
reverse1(s,count,i-1);
count=i+1;
}
if(i==s.length()-1&&s[i]!=' '){
reverse1(s,count,i);
}
}
while(s[s.length()-1]==' '){
s.erase(s.length()-1,1);
}
return s;
}
};
```
代码随想录第8天
最新推荐文章于 2024-09-12 19:02:20 发布