刷题记录第三十三天-反转字符串和反转字符串II

反转字符串
#include
using namespace std;
int main(){
	string str="hello";
	int left=0,right=str.size()-1;
	while(left<right){
		char temp=str[right];
		str[right--]=str[left];
		str[left++]=temp;
	}
	for(char c:str){
		cout<<c;
	}
	system("pause");
}
反转字符串II
class Solution {
public:
    string reverseStr(string s, int k) {
        int n=s.size();
        for(int i=0;i<n;i=i+2*k){
            if(i+k<=n){
                int left=i, right=i+k-1;
                while(left<right){
                    char temp=s[right];
                    s[right--]=s[left];
                    s[left++]=temp;
                }
            }else{
                int left=i, right=n-1;
                while(left<right){
                    char temp=s[right];
                    s[right--]=s[left];
                    s[left++]=temp;
                }
            }
        }
        return s;
    }
};

你可能感兴趣的:(每日一题,算法,c++,数据结构)