思路很简单,两个指针分别指向两个链表头,哪个元素小就后移,相等就记录。某一个为空,就退出。
vector<int> findCommonParts(ListNode* headA, ListNode* headB) {
vector<int> v;
ListNode *p1=headA,*p2=headB;
while(p1 && p2){
if(p1->val<p2->val){
p1=p1->next;
}else if(p1->val>p2->val){
p2=p2->next;
}else{
v.push_back(p1->val);
p1=p1->next;
p2=p2->next;
}
}
return v;
}