Print Common Part In List 发表于 2017-03-20 | 分类于 算法 PrintLists(打印链表的公共部分)题目描述: 给定两个有序链表的头结点,要求打印出两个链表中的公共节点部分。题目思路很简单,分别从两个链表头部开始遍历,判断其值的大小决定各自遍历指针是否移动,相等的情况就打印就可以。 代码如下:1234567891011121314151617181920class printCommonPart1 {public: void printCommonPart(ListNode* head1, ListNode* head2) { while( head1 != NULL && head2 != NULL){ if (head1->val == head2->val){ cout << head1->val << endl; head1 = head1->next; head2 = head2->next; } // 相同的情况打印并同时移动遍历指针 else if (head1->val > head2->val){ head2 = head2->next; } else if (head1->val < head2->val) { head1 = head1->next; // 较小的指向值指针移动 } } }};