您的位置: 题酷首页 » 所有题目 » 求两个有序链表的交集


求两个有序链表的交集


0
0
1 答
638 看

对于两个有序无环单链表,求这两个链表的交集

比如:1>2>3>4>NULL 交 2>4>5>NULL => 2>4>NULL

作业题链表
2009/08/26 by 半瓶墨水 6个月前更新 更新记录



0

在我之前提交的合并有序单链表上稍加改造即可。

struct node{
int data;
node* next;
};

typedef node* List;
List mergeSortedLinkList(List &list1, List &list2)
{
if (list1 == NULL)
{
    return list2;
}
if (list2 == NULL)
{
    return list1;
}
List pList1 = list1;
List pList2 = list2;
List mergedList = new node; //使用一个头节点,只是来指向合并好的链表,不存储数据
List pCurNode = mergedList;
while(pList1 && pList2)
{
    if (pList1->data < pList2->data)
        {
            pList1 = pList1->next;
        } 
        else if (pList1->data > pList2->data)
        {
            pList2 = pList2->next;
        }
        else
        {
        pCurNode->next = pList1;
        pCurNode = pList1;
        pList1 = pList1->next;
              pList2 = pList2->next;
        } 
}

return mergedList;
 }`enter code here`

250x

参与回答

 提示:如不是回答问题,请采用发表评论形式! (比如针对题目或者某个回复的意见、建议)

注册登录后再回答