char *encode(char *src)
{
//Your code here
int length = strlen(src);
char *res=(char *)malloc(sizeof(char) * length);
int a[5];
int idx=0;
int cnt=1,n,pos;
res[idx]=src[0];
for(int i=1;i<strlen(src);i++)
{
if(src[i]!=src[i-1])
{
n=cnt;
if(n>=10)
{
pos=-1;
while(n)
{
pos+=1;
a[pos]=n%10;
n/=10;
}
while(pos>=0)
{
idx+=1;
res[idx]=char(a[pos--]+'0');
}
}
else
{
idx+=1;
res[idx]=char(cnt+'0');
}
idx+=1;
res[idx]=src[i];
cnt=1;
}
else
{
cnt+=1;
}
}
if(cnt>=10)
{
pos=-1;
while(cnt)
{
pos+=1;
a[pos]=cnt%10;
cnt/=10;
}
while(pos>=0)
{
idx+=1;
res[idx]=char(a[pos--]+'0');
}
}
else
{
idx+=1;
res[idx]=char(cnt+'0');
}
res[idx+1]='\0';
return res;
}