[LeetCode160] Intersection of Two Linked Lists
来源:互联网 发布:java毕业论文题目 编辑:程序博客网 时间:2024/06/11 18:27
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.
1. difference of two linked list lenght.
2. from the queal node, go through two linked list.
/** * 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) { int lenA = length(headA); int lenB = length(headB); if(lenA == 0 || lenB ==0) return null; int diff = Math.abs(lenA - lenB); ListNode h1 = headA; ListNode h2 = headB; while(diff > 0) { if(lenA > lenB) h1 = h1.next; else h2 = h2.next; diff--; } while(h1!=null || h2!=null){ if(h1.val == h2.val) return h1; h1 = h1.next; h2 = h2.next; } return null; } public int length(ListNode node){ if(node == null) return 0; int len = 1; while(node.next != null) { len++; node = node.next; } return len; }}
0 0
- [leetcode160链表]Intersection of Two Linked Lists
- Leetcode160-Intersection of Two Linked Lists
- [LeetCode160] Intersection of Two Linked Lists
- leetcode160---Intersection of Two Linked Lists(交叉点)
- LeetCode160. Intersection of Two Linked Lists
- 【Leetcode160】. Intersection of Two Linked Lists-题解
- LeetCode160. Intersection of Two Linked Lists
- leetcode160~Intersection of Two Linked Lists
- leetcode160. Intersection of Two Linked Lists
- leetcode160-Intersection of Two Linked Lists
- LeetCode160. Intersection of Two Linked Lists
- Leetcode160. Intersection of Two Linked Lists/C++
- LeetCode160——Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- ILMerge(Dll合并工具)遇到Could not load assembly from the location...错误
- jquery 中draggable问题
- Codeforces 559B Equivalent Strings 想法题
- MySQL 事件调度器 -- phpmyadmin和命令行下操作
- PostgreSQL regress test
- [LeetCode160] Intersection of Two Linked Lists
- 背包问题
- Could not connect to '10.7.100.182' (port 22): Connection failed
- 本地数据下,radiobutton和图片组合,利用adapter+listview进行单选
- Android分步注册,Activity由B返回A修改再前往B,B中已填项不变
- Android中手机号、车牌号正则表达式
- 【转】Android编程判断手机or平板
- Android界面隐藏软键盘的探索(兼findViewById返回null解决办法)
- Android Studio中使用android:src="@drawable/ic_launcher"报错