C++ How To

1反转字符串

1.利用algorithm 的 reverse 方法

//就地操作
void reverse(string& str){
    reverse(str.begin(),str.end());
}

2.自己实现, 1/2 遍历

//就地操作
void reverse(string& str){
    int len=str.size();
    //这个 for 循环写的很有意思
    for(int i=0,j=len-1;i<j;i++,j--){
        char temp=str[i];
        str[i]=str[j];
        str[j]=temp;
    }
}

3.利用递归(尽量少用)

string reverse(string& str) {
    if (str.size()<2)
        return str;
    else return reverse(str.substr(1)) + str.substr(0,1);
}