/**
 * 反转字符串
 * @param str string字符串 
 * @return string字符串
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */

/* 这个方法不好,在大数据时行不通
1.把a移动到倒数第一
2.把b移动到倒数第二
3.把c移动到倒数第三
4.把d移动到倒数第四
*/

// char* solve(char* str ) {
//     // write code here
//     char* p = str;
//     char* t = str;
//     char last ; /*保存最后一个值*/
//     char tmp;
    
//     if(str == NULL)
//         return str;
//     if(*str == '\0')
//         return str;
   
    
//     while((*p) !='\0'){
//         if(*(p+1) == '\0')
//             last = *p;
//         p++;
//     }
    
    
//     p--;
//     while(p != str ){
//         while((*t) != (*p)){
//             tmp = *t;
//             *t = *(t+1);
//             *(t+1) = tmp;
//             t++;    
//         }
//         p--;
//         t = str;
//     }
    
    
//     return str;
// }



/*这个是网友的,可以行的通*/
/**
 * 反转字符串
 * @param str string字符串 
 * @return string字符串
 */
char* solve(char* str ) {
    // write code here
    char *p1=str;
char *p2=str;
int temp=0;
while (*p2!='\0')
{
    p2++;
}
p2--;
while (p1<p2)
{
   temp=*p1;
   *p1=*p2;
   *p2=temp;
   p1++;
   p2--;
}
return str;
}