LeetCode_intersection-of-two-linked-lists
2015-09-14 10:16
260 查看
https://leetcode.com/problems/intersection-of-two-linked-lists/
题意:判断两个链表是否有公共交点; 思路:先求每个链表的长度,然后把最长链表移动两个链表的长度差,然后两链表同步判断,即可求出是否有公共交点; /** * 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) return nullptr; if(!headB) return nullptr; ListNode *p,*q; p = headA; q = headB; int cntA = 0,cntB = 0; while(p){ cntA++; p = p->next; } while(q){ cntB++; q = q->next; } p = headA;//恢复p指向链表的开始处 q = headB;//恢复q指向链表的开始处 int i = abs(cntA-cntB); if(cntA > cntB){ while(i--){ p = p->next; } } else{ while(i--){ q = q->next; } } while(p){ if(p == q){ return p; } p = p->next; q = q->next; } return nullptr; } };
相关文章推荐
- Bootstrap常用元素
- U盘安装ubuntu 时候无法 安装 grub 到磁盘
- iOS--判断网络是否可用-(本地判断)
- 99行拓扑优化 代码解析
- HTML5列表、块、布局
- SoapClient访问服务器实现产品验真
- Nucleus进程间通信(IPC)方式
- 20150901-Linux磁盘管理及文件系统管理
- svg滤镜, 更丰富的色彩魔法!!
- 你值得拥有的十佳Python框架
- MultiByteToWideChar和WideCharToMultiByte用法详解
- 使用OpenSSL API 进行安全编程
- UVa 10384:The Wall Pusher(IDA*)
- Foundation框架—字符串
- tomcat端口被占用
- JQuery ajax中error返回错误及一直返回error的解答
- 20150830-Linux文件系统上的特殊权限
- 常用的webservice接口
- Eclipse启动报错
- 剑指offer:二维数组中的查找