[leetCode]160. Intersection of Two Linked Lists
来源:互联网 发布:淘宝客服怎么分流平衡 编辑:程序博客网 时间:2024/05/16 18:59
题目描述
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.
Notes:
If the two linked lists have no intersection at all, return null.
The linked lists must retain their original structure after the function returns.
You may assume there are no cycles anywhere in the entire linked structure.
Your code should preferably run in O(n) time and use only O(1) memory.
解题思路
先遍历两个链表,求出二者长度之差sizeA - sizeB,让后让长链表head指针向后走sizeA - sizeB个节点,再次遍历链表,若AB中有节点地址相同则返回该节点。
java代码
public ListNode getIntersectionNode(ListNode headA, ListNode headB) { if (headA == null || headB == null) return null; ListNode headACopy = headA, headBCopy = headB; int sizeA = 0, sizeB = 0; while (headA != null){ headA = headA.next; sizeA++; } while (headB != null){ headB = headB.next; sizeB++; } headA = headACopy; headB = headBCopy; if (sizeA > sizeB){ for (int i = 0; i < sizeA -sizeB; i++){headA = headA.next;} } else if (sizeB > sizeA){ for (int i = 0; i < sizeB -sizeA; i++){headB = headB.next;} } while(headA != null && headB != null){ if (headA.hashCode() == headB.hashCode()) return headA; headA = headA.next; headB = headB.next; } return null; }
- [LeetCode]160.Intersection of Two Linked Lists
- LeetCode 160. Intersection of Two Linked Lists
- 【LeetCode】160.Intersection of Two Linked Lists
- [leetcode] 160.Intersection of Two Linked Lists
- [LeetCode]160. Intersection of Two Linked Lists
- LeetCode--160. Intersection of Two Linked Lists
- LeetCode 160. Intersection of Two Linked Lists
- 【LeetCode】160. Intersection of Two Linked Lists
- Leetcode 160. Intersection of Two Linked Lists
- LeetCode *** 160. Intersection of Two Linked Lists
- LeetCode 160. Intersection of Two Linked Lists
- leetcode-160. Intersection of Two Linked Lists
- LeetCode-160.Intersection of Two Linked Lists
- LeetCode 160. Intersection of Two Linked Lists
- Leetcode 160. Intersection of Two Linked Lists
- LeetCode 160. Intersection of Two Linked Lists
- leetcode 160. Intersection of Two Linked Lists
- 160.[Leetcode]Intersection of Two Linked Lists
- php错误等级-转载
- <Unity3D UGUI>用UGUI方式实现图片的遮罩,圆角图片,圆形图片效果
- LA 5139 Rare Order
- Android百度地图开发(一)
- Union与Union All的区别
- [leetCode]160. Intersection of Two Linked Lists
- Ubuntu14.04 源代码安装 TensorFlow r0.12 详细教程
- Qt 汽车仪表再次编写,Widget,仪表显示,绘制界面
- 基于web的全景漫游自动生成加编辑平台的技术实现(二)----krpano窥探
- PHP各种各样的面试题目整理
- 1-2 java基础:方法、方法重载、数组
- 内部类
- PAT 乙级 1030. 完美数列(25)
- 我是怎么治好自己的单纯疱疹的!!!!!