#include<stdio.h>
#include<string.h>
void interleave(char* str1, char* str2, char* str, int len)
{
int i=0;
if(str1[0] == '\0' && str2[0] == '\0')
{
return;
}
if(str1[0] != '\0')
{
str[0] = str1[0];
interleave(str1+1, str2, str+1, len);
}
if(str2[0] != '\0')
{
str[0] = str2[0];
interleave(str1, str2+1, str+1, len);
}
}
int main()
{
char* str1 = "AB";
char* str2 = "MNO";
int len = len1+len2;
char* str
= (char*)malloc(len
+1); //memset(str, 0, len+1);
interleave(str1, str2, str, len);
return 0;
}
CiNpbmNsdWRlPHN0ZGlvLmg+CiNpbmNsdWRlPHN0cmluZy5oPgoKCgoKdm9pZCBpbnRlcmxlYXZlKGNoYXIqIHN0cjEsIGNoYXIqIHN0cjIsIGNoYXIqIHN0ciwgaW50IGxlbikKewogICAgaW50IGk9MDsKCgppZihzdHIxWzBdID09ICdcMCcgJiYgc3RyMlswXSA9PSAnXDAnKQogICAgewogICAgICAgIHByaW50ZigiJXNcbiIsIHN0ci1sZW4pOwogICAgICAgIHJldHVybjsKICAgIH0KCgoKaWYoc3RyMVswXSAhPSAnXDAnKQogICAgewogICAgICAgIHN0clswXSA9IHN0cjFbMF07CiAgICAgICAgaW50ZXJsZWF2ZShzdHIxKzEsIHN0cjIsIHN0cisxLCBsZW4pOwogICAgfQogICAgaWYoc3RyMlswXSAhPSAnXDAnKQogICAgewogICAgICAgIHN0clswXSA9IHN0cjJbMF07CiAgICAgICAgaW50ZXJsZWF2ZShzdHIxLCBzdHIyKzEsIHN0cisxLCBsZW4pOwogICAgfQp9CgoKCmludCBtYWluKCkKewogICAgY2hhciogc3RyMSA9ICJBQiI7CiAgICBjaGFyKiBzdHIyID0gIk1OTyI7CiAgICAKICAgIGludCBsZW4xID0gc3RybGVuKHN0cjEpOwogICAgaW50IGxlbjIgPSBzdHJsZW4oc3RyMik7CiAgICBpbnQgbGVuID0gbGVuMStsZW4yOwoKCgpjaGFyKiBzdHIgPSAoY2hhciopbWFsbG9jKGxlbisxKTsKICAgIC8vbWVtc2V0KHN0ciwgMCwgbGVuKzEpOwoKCgppbnRlcmxlYXZlKHN0cjEsIHN0cjIsIHN0ciwgbGVuKTsKICAgIHJldHVybiAwOwp9