Namaran

Code daily. Without assist.

2026-08-21

reverse.c

#include <string.h>

void reverse(char *s) {
    /* write this: reverse s in place, no extra buffer */
}

NUL終端文字列をその場で反転するように、reverseを実装してください。

Reference
void reverse(char *s) {
    size_t len = strlen(s);
    for (size_t i = 0, j = len - 1; i < j; i++, j--) {
        char tmp = s[i];
        s[i] = s[j];
        s[j] = tmp;
    }
}

両端から中央に向かって閉じていく、2つのポインタを使う方法です。これはあくまで参考実装であり、唯一の正解ではありません — 自分の実装と見比べてみてください。