2024年7月25日 星期四

[1754] Largest Merge Of Two Strings

想要練習一下字串處理,結果想的太難了!!!
毫笨!!!

char* largestMerge(char* word1, char* word2) {
int l1 = strlen (word1);
int l2 = strlen (word2);
int ret_len = l1+l2;
char *ret = calloc (ret_len+1, sizeof (char));
int idx = 0, i1=0, i2=0;
while (idx < ret_len)
{
if (i1==l1 || i2== l2)
break;
if(word1[i1]>word2[i2])
ret[idx++]= word1[i1++];
else if(word1[i1] < word2[i2])
ret[idx++]= word2[i2++];
else // equal case
{
if (strcmp (word1+i1+1,word2+i2+1) <0)
ret[idx++]= word2[i2++];
else
ret[idx++]= word1[i1++];
}
}
//append rest
while (i2<l2)
ret[idx++]= word2[i2++];
while (i1<l1)
ret[idx++]= word1[i1++];
return ret;
}

沒有留言:

張貼留言