本文实例讲述了C++实现打印两个有序链表公共部分的方法。分享给大家供大家参考,具体如下:

题目:
给定两个有序链表的头指针head1和head2,打印两个链表的公共部分。
解题思路及代码:
1、head1的值小于head2,则head1往下移动
2、head1的值小于head2,则head2往下移动
3、相等则打印任何一个链表节点的值,head1和head2都往下移动。
4、当head1或head2移动到NULL,终止。
算法C++代码:
typedef struct Node
{
int data;
struct Node* next;
}node, *pLinkedlist;
void printCommomElem(pLinkedlist head1, pLinkedlist head2)
{
cout << "print commom elements: " << endl;
while (head1->next != NULL && head2->next != NULL)
{
if (head1->data < head2->data)
head1 = head1->next;
else if (head1->data > head2->data)
head2 = head2->next;
else
{
cout << head1->data << " ";
head1 = head1->next;
head2 = head2->next;
}
}
cout << endl;
}
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。