反转字符串

题目描述:

写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
示例1
输入:
"abcd"

返回值:
"dcba"

解释:将一个字符串反转,其实很简单

class Solution {
public:
    /**
     * 反转字符串
     * @param str string字符串 
     * @return string字符串
     使用反转迭代器
      string s;
            while(cin>>s){
                reverse(s.begin(), s.end());
                    return s;
            }
     */
    string solve(string str) {
        // write code here
    //这种做法很简单,直接交换
         if(str.size()<=1)
         { return str;}
        //定义两个 变量,一个从头向后遍历、一个从后向前遍历
//         int i = 0, j = str.size() -1;
//         char temp;
//         while(i<j)
//         {
//            // swap(str[i++],str[j--]);
//          //或者自己实现交换函数
//             temp = str[i];
//             str[i++] = str[j];
//             str[j--] = temp;
//         }


//下面是先取得字符串交换的次数、其实和上面差不多
        int len = str.length();
        for(int i =0;i<len/2;i++)
        {
            swap(str[i],  str[len-i-1]);
        }
        return str;
    }
};