使用C/C++編寫函數,實現字符串反轉,要求不使用任何系統函數,且時間複雜度最小

//使用C/C++編寫函數,實現字符串反轉,要求不使用任何系統函數,且時間複雜度最小,函數原型:char* reverse_str(char* str)。


/*實現字符串翻轉*/
char *reverse_str(char *str) {
    if(NULL == str) { //字符串爲空直接返回
        return str;
    }
    char *begin;
    char *end;
    begin = end = str;

    while(*end != '\0') { //end指向字符串的末尾
        end++;
    }
    --end;

    char temp;
    while(begin < end) { //交換兩個字符
        temp = *begin;
        *begin = *end;
        *end = temp;
        begin++;
        end--;
    }

    return str; //返回結果
}
void main() {
    char str[] = "123456";
    printf(reverse_str(str));
}
發佈了43 篇原創文章 · 獲贊 17 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章