🐛 修复CFree分支的习题2.15中出现循环链表的bug(#16)

This commit is contained in:
康建伟
2020-03-24 00:39:49 +00:00
parent e1d3bdbe39
commit 9bf5d0d060
@@ -43,23 +43,27 @@ Status Algo_2_15(LinkList ha, LinkList hb, LinkList *hc)
{
LinkList pa, pb; //pa、pb分别指向ha、hb头结点
// 确保ha和hb都存在
if(ha && hb)
{
pa = ha;
pb = hb;
// 为了提高效率,需要先遍历共同的部分
while(pa->next && pb->next)
{
pa = pa->next;
pb = pb->next;
}
if(!pa->next)
// 如果ha已经遍历到头了,且hb有剩余(ha<hb)
if(!pa->next && pb->next)
{
*hc = ha;
pa->next = hb->next;
}
// 如果hb已经遍历到头了,ha可能有剩余,也可能没有(ha>=hb)
if(!pb->next)
{
*hc = hb;