#include"stdafx.h"
#include<iostream>
#include<vector>
using namespace std;
struct ListNode
{
int val;
ListNode*next;
ListNode(int x) :val(x), next(NULL) {}
};
vector<int>printCommon(ListNode*l1, ListNode*l2)
{
vector<int>res;
if (l1 == NULL || l2 == NULL) return{};
while (l1 && l2)
{
if (l1->val<l2->val)
{
l1 = l1->next;
}
else if (l1->val>l2->val)
{
l2 = l2->next;
}
else
{
res.push_back(l1->val);
l1 = l1->next;
l2 = l2->next;
}
}
return res;
}
int main()
{
ListNode*l1 = new ListNode(9);
l1->next = new ListNode(10);
l1->next->next = new ListNode(11);
l1->next->next->next = new ListNode(12);
ListNode*l2 = new ListNode(9);
l2->next = new ListNode(10);
l2->next->next = new ListNode(11);
l2->next->next->next = new ListNode(12);
vector<int>b = printCommon(l1, l2);
for (int i = 0; i<b.size(); i++)
{
cout << b[i] << endl;
}
}
打印两个链表的公共部分
最新推荐文章于 2024-03-03 14:25:10 发布