Чому лишня трата часу? я просто замість strcpy зробив би memcpy, що трішки швидше спрацювало б.
І крім того в алгоритмі розглядається не весь рядок а strlen(s) / 2/