我需要在 C 中构建一个函数,它接收两个字符串 str1 和 str2 并返回一个串联 str1 和 str2 的字符串,但我需要丢弃 str1 的最后一个元素,这些元素等于 str2 的第一个元素.
示例1:
str1 = ccabcc
str2 = ccbabd
result : ccabccbabd
示例2:
str1 = abbcbf
str2 = ab
Result : abbcbfab
有时没有重叠。
最佳答案
这个问题是微不足道的恕我直言。就我个人而言,我会选择这样的东西(它是伪代码):
function(str1,str2)
int j = 0
int lstr1 = lenght of str 1
int lstr2 = lenght of str 2
while(true)
if(str1[lstr1 - j] == str2[j])
j++
else
break
return str1 + str2[j to end of string]
如果我没有犯逻辑错误,您的代码应该看起来像是比较 str 1 的结尾与 str 2 的开头并递增的内容。另外,我的伪代码没有考虑字符串长度和潜在的溢出错误。
关于连接两个字符串并丢弃重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31678039/