2026-08-21
reverse.c
#include <string.h>
void reverse(char *s) {
/* write this: reverse s in place, no extra buffer */
}
NUL終端文字列をその場で反転するように、reverseを実装してください。
参考実装
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つのポインタを使う方法です。これはあくまで参考実装であり、唯一の正解ではありません — 自分の実装と見比べてみてください。