基本思路

  1. 先计算出两个链表的长度 O(n)
  2. 将长的一个链表的指示指针移动到和短链表相同长度 O(n)
  3. 两个链表指示指针同时向前移动,直到二者相同或者NULL

代码实现

/**
* 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;
int a_len = 0;
int b_len = 0;
ListNode * a = headA;
ListNode * b = headB;
while(a->next != NULL){
a = a->next;
a_len++;
}
while(b->next != NULL){
b = b->next;
b_len++;
}
a = headA;
b = headB; if(a_len > b_len){
for(int i = 0; i < a_len-b_len; i++){
a = a->next;
}
}
else{
for(int i = 0; i < b_len-a_len; i++){
b = b->next;
}
} while(a != b && a !=NULL && b != NULL){
a = a->next;
b = b->next;
}
if(a == NULL || b == NULL)
return NULL;
return a;
}
};

最新文章

  1. mysql awr 1.0.5 GA正式版发布
  2. Android之开启手机系统自带铃声
  3. codeforces 300E Empire Strikes Back 数论+二分查找
  4. PHP 简单实现MySQL数据搜索、添加数据功能 以设备管理为例
  5. python request的运用
  6. [原创]CentOS下Mysql双机互为备份
  7. 201521123011 《Java程序设计》第13周学习总结
  8. 使用vba做一个正则表达式提取文本工具
  9. C#读写EXCEL单元格的问题
  10. PHP协程入门详解
  11. jquery 中多选和全选
  12. gcc、make编译
  13. csrf_token(跨站伪造)
  14. luogu P4396 [AHOI2013]作业
  15. 软工网络15团队作业8——Beta阶段敏捷冲刺(Day6)
  16. 42.oracle物化视图
  17. linux中安装jdk以及eclipse的安装
  18. 下载文件 通过a 标签 请求某个servlet进行下载的
  19. yum源的使用
  20. django【原生分页】

热门文章

  1. SQL Server 2008 R2如何开启数据库的远程连接(转)
  2. Linux漏洞分析入门笔记-CVE-2015-0235
  3. 获取select下拉框的value以及文本内容
  4. check_mk的性能案例
  5. SqlServer存储过程示例
  6. 玩得一手好注入之order by排序篇
  7. Nginx+Tomcat+Session 高性能群集搭建
  8. JavaScript 面向对象编程(四)的常用方法、属性总结
  9. mysql数据库 BETWEEN 语法的用法和边界值解析
  10. Poj 1961 KMP