判断两个链表是否有交点

来源:互联网 发布:js截取子字符串 编辑:程序博客网 时间:2024/05/17 08:13
/*判断两个链表是否交叉,如果交叉返回交叉节点,否则返回NULL。*/  Node* findCross(Node* head1,Node* head2)  {      if(head1==NULL||head2==NULL)          return NULL;      /*将第二个链表变成有环链表*/      Node* tail2=head2;      while(tail2->next!=NULL)          tail2=tail2->next;      tail2->next = head2;            Node* temp = findCircle(head1);      if(temp!=NULL)          return temp;      else          return NULL;          }  
分析:
如果两个链表有交点,则把第一个链表的尾节点的next域指向第二个链表的首结点会构成一个环,然后判断是否有环即可,有环说明有交点,无环说明无交点

0 0
原创粉丝点击