首页 > 试题广场 >

使用CC++编写函数,实现字符串反转,要求不使用任何系统函

[问答题]
使用C/C++编写函数,实现字符串反转,要求不使用任何系统函数,且时间复杂度最小,函数原型:char* reverse_str(char* str)。
推荐
获取首尾指针,然后将首尾指针指向的元素交换,将首指针指向下一个,将尾指针指向前一个,交换指针指向的元素,然后重复执行,直到首尾指针相遇。
编辑于 2015-02-05 17:17:31 回复(0)
char* reverse_str(char* str){
    char* begin=str;
    char* end=str;
    char* tmp=NULL;
    if(!str)
        return str;
    while(*(end++)!='\0'){
    }
    end--;//跳到字符串最后一个字符
    while(begin<str){
        *tmp=*begin;
        *begin=*end;
        *end=*tmp;
        begin++;
        end-;
    }
    return str;
}
发表于 2015-06-23 17:11:16 回复(0)