本文参考:

  http://blog.csdn.net/g_brightboy/article/details/6824834

  http://blog.csdn.net/huangxy10/article/details/8014233

  在此致谢。

 

 

  • 问题:

  给定两个链表,判断它们是否相交。

 

注意:

  如果两个链表相交的话,则公用相交点开始往后的所有节点。【因为节点的next指针只有一个!】

 

解答:

  1)首先来看最直观的方法,也就是一次判断链表A中的节点是否在链表B中出现。

  时间复杂度:O(n2)

  空间复杂度:O(1)

  

1 bool List::isIntersect(Node* listA,Node* listB){
2     for(Node* headA = listA; headA != NULL ; headA =  headA->next){
3         for(Node* headB = listB; headB != NULL; headB = headB->next){
4             if(headA == headB)
5                 return true;
6         }
7     }   
8     return false;                                                                                                      
9 }
View Code

相关文章:

  • 2021-07-15
  • 2021-07-13
  • 2021-12-08
  • 2021-10-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-01
猜你喜欢
  • 2021-09-29
  • 2021-07-16
  • 2021-09-06
  • 2021-07-26
  • 2022-12-23
相关资源
相似解决方案