Leetcode:160. Intersection of Two Linked Lists(JAVA)
来源:互联网 发布:临时用电计算软件 编辑:程序博客网 时间:2024/06/06 18:44
【问题描述】
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.
【思路】
如果两个ListNode尾节点相同,则一定存在公共节点。
将长的List移步size1-size2步长后开始依次比较,直到找到相同节点后返回。
【code】
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public ListNode getIntersectionNode(ListNode headA, ListNode headB) {if (headA == null || headB == null) {return null;}ListNode t1 = headA;ListNode t2 = headB;int size1 = 1, size2 = 1;while (t1.next != null) {size1++;t1 = t1.next;}while (t2.next != null) {size2++;t2 = t2.next;}if (t1.val != t2.val) {return null;} else {int t = Math.abs(size1 - size2);if (size1 > size2) {t1 = headA;t2 = headB;} else {t1 = headB;t2 = headA;}while ((t--) != 0) {t1 = t1.next;}while (t1 != null && t2 != null && t1 != t2) {t1 = t1.next;t2 = t2.next;}return t1;} }}
0 0
- LeetCode|Intersection of Two Linked Lists-java
- [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
- Android中的线程与线程池
- Git学习
- Qt读取excel
- 第三周项目1:个人所得税计算器
- 字符串连接
- Leetcode:160. Intersection of Two Linked Lists(JAVA)
- STM32的高级定时器里面死区的概念
- 打印JS
- 开源python网络爬虫框架Scrapy
- ActionBar设置自定义布局使文字居中
- Linux学习入门(一)基础命令行入门
- 控件-UILabel
- bfs——三个水杯
- maven创建web项目