1. Intersection of Two Linked Lists My Submissions QuestionEditorial Solution

    Total Accepted: 72580 Total Submissions: 239762 Difficulty: Easy

    Write a program to find the node at which the intersection of two singly linked lists begins.

For example, the following two linked lists:

A: a1 → a2



c1 → c2 → c3



B: b1 → b2 → b3

begin to intersect at node c1.

思路:两条链表如果相交,那从交点开始,后面一定都是相等的

那如何求第一个交点呢?

时间复杂度:O(n)

要么返回空

有交点时,说明尾部是对齐的,要找到第一个交点,只要让长的链表先走len1-len2步,这里假设len1是那条长链,那么此时再同时走,相遇的第一个节点便是交点

/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
if(headA==NULL||headB==NULL)return NULL;//有一为空返回
if(headA==headB)return headA;//头部相同返回
ListNode *l1=headA,*l2=headB;
int len1=1,len2=1;
while(l1->next){//遍历记录长度
l1=l1->next;
len1++;
}
while(l2->next){
l2=l2->next;
len2++;
}
ListNode *p = len1>len2?headA:headB; //p为长链表
ListNode *psmall=len1>len2?headB:headA; //psmall为短链表
int count=abs(len2-len1);
while(count--){
p=p->next;
}
while(p!=NULL&&psmall!=p){
p=p->next;
psmall = psmall->next;
}
if(p!=NULL)return p; //有交点
else return NULL; //无交点 }
};

最新文章

  1. select 选择的制作
  2. hsql数据库使用详解(入门)及快速使用
  3. php基础排序算法 冒泡排序 选择排序 插入排序 归并排序 快速排序
  4. ruby 学习笔记 2 -变量
  5. 多线程(pthread、NSThread、GCD)
  6. LightOJ::1077 -----奇妙的最大公约数
  7. 统计类别数量并且使用pyplot画出柱状图
  8. PLSQL_基础系列04_时间间隔INTERVAL(案例)
  9. 密码强度应用(js)
  10. vue写请求接口--请求参数的变量要在return里面声明
  11. Android NDK编程,引入第三方.so库
  12. C/C++中的&&和||运算符
  13. 自己动手写CPU之第五阶段(3)——MIPS指令集中的逻辑、移位与空指令
  14. Find and run the whalesay image
  15. 看我如何粘贴别人代码--socketserver
  16. 获取各种编码(Unicode,UTF8等)的识别符
  17. EventTrigger动态添加监听事件
  18. JavaSE-基础语法(二)-系统类(java.lang.*)和工具类(java.util.*)
  19. 队列queue 代码
  20. Stanford CS231n实践笔记(课时14卷积神经网络详解 上)

热门文章

  1. Beta阶段第四次会议
  2. Spring Security 多过滤链的使用
  3. Noip模拟38 2021.8.13
  4. Machine learning (8-Neural Networks: Representation)
  5. 21.7.24 test
  6. CODING —— 云原生时代的研发工具领跑者
  7. hdu 2190 重建希望小学(数学,递推)
  8. 第07课 OpenGL 光照和键盘(1)
  9. 【http】https加速优化
  10. Spring Cloud Alibaba环境搭建