微软面试100题系列---判断两个链表是否相交
2016-09-02 12:11
267 查看
题目
给出2个单向链表h1和h2,判断这两个链表是否相交;假设2个链表都不带环。
实现
思路:如果两个链表相交,则他们一定有着相同的尾节点,所以分别求出2个链表的尾节点,判断尾节点是否相同;代码实现:
boolean isIntersect(Node h1,Node h2){ if(h1==null || h2==null) return false; Node tail_1=h1; while(tail_1!=null){ tail_1=tail_1.next; } Node tail_2=h2; while(tail_2!=null){ tail_2=tail_2.next; } if(tail_1==tail_2) return true; else return false; }
题目扩展
如果2个链表相交,如何找到相交的第一个节点?实现
思路:分别计算出2个链表的长度,len1和len2,(len1>len2);
对链表1先遍历(len1-len2)个节点;此时2个链表距离相交点的距离相同;
同时对2个链表进行遍历,直到遇到第一个相同节点;此节点即为所求;
相关文章推荐
- 【从零单排之微软面试100题系列】07之判断两个链表是否相交
- (微软面试100题)判断两个链表是否相交
- 判断两个链表是否相交 【微软面试100题 第七题】
- 判断两个链表是否相交 【微软面试100题 第七题】
- July大神微软等100题之第7题------判断两个链表相交(包含有无环),链表是否有环题目总结
- 面试100题:7.判断两个链表是否相交
- 面试100题:7.判断两个链表是否相交
- 微软100题第7题(判断俩个链表是否相交)
- IT公司100题-7-判断两个链表是否相交
- 算法面试100题——7.微软亚院之编程判断俩个链表是否相交
- 微软亚洲研究院面试编程题之判断两个链表是否相交
- 微软面试100道之7 判断俩个链表是否相交
- 小算法系列-判断单链表是否存在环,判断两个链表是否相交问题详解(转)
- 微软100题(7) 判断两链表是否相交
- IT公司100题-7-判断两个链表是否相交
- 判断单链表是否存在环,判断两个链表是否相交
- 微软面试100题系列:一道合并链表问题的解答[第42题]
- 判断单链表是否存在环,判断两个链表是否相交问题详解
- 判断两个链表是否相交
- 判断单链表是否存在环,判断两个链表是否相交问题详解