http://learn.hackerearth.com/forum/134/there-is-a-string-like-abcde12345-convert-it-in-form-of/
从 a1b2c3d4 --> abcd1234
voidconvertArray(char* array, intlength) {
inti;
if(length >=4) {
convertArray(array, length/2);
convertArray(array + length/2, length/2);
for(i=0; i<length/4; i++) {
swap(array+(length/2)/2+i, array+(length/2)+i);
}
}
}
从abcd1234 --> a1b2c3d4 是上面过程的反过程
void fun(char s[], int n)
{
// Base case
if(n == 2)
return;
else
{
swap_str(s+n/4, s+n/2, n/4);
fun(s, n/2);
fun(s + n/2, n/2);
}
}
void swap_str(char s1[], char s2[], int n)
{
for(int i = 0; i < n; i++)
swap(s1[i], s2[i]);
}