题目描述:求两个链表入队并集
将两个有序链表合并为一个有序链表,合并的链表无重复元素,其中元素为原两个链表的并集
示例:
输入:1->2->4, 1->3->4
输出:1->2->3->4
思路分析:对list2遍历,并同时对每个节点数据判断在list1中是否存在,如果不存在,则将该数据有序插入到list1中,不然则继续遍历,直到list2遍历完,则求并集结束。
/**
* Definition for singly-linked list.
* struct ListNode {
* int data;
* struct ListNode next;
* };
*/
ListNode*combineLinkList(ListNode*list1,ListNode* list2)
{
if (list1 == NULL || list2 == NULL)//如果一个为NULL,直接返回另一个链表
{
return list1 == NULL ? list2 : list1;
}
ListNode*cur = list1