leetcode--Intersection of Two Linked Lists
来源:互联网 发布:2016淘宝分销刷信誉 编辑:程序博客网 时间:2024/05/17 22:31
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.
/** * 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 h1 = headA; ListNode h2 = headB; int count1 = 1, count2 = 1; while(h1.next != null){ count1++; h1 = h1.next; } while(h2.next != null){ count2++; h2 = h2.next; } if(h1 != h2) return null; else{ int count = Math.abs(count1 - count2); if(count2 > count1){ h1 = headB; h2 = headA; } else{ h1 = headA; h2 = headB; } while((count--) > 0){ h1 = h1.next; } while(h1 != null&&h2 != null && h1 != h2){ h1 = h1.next; h2 = h2.next; } return h1; } }}
0 0
- [leetcode] [leetcode]Intersection of Two Linked Lists
- 【LeetCode】Intersection of Two Linked Lists
- LeetCode: Intersection of Two Linked Lists
- [Leetcode] Intersection of Two Linked Lists
- [Leetcode]Intersection of Two Linked Lists
- LeetCode:Intersection of Two Linked Lists
- leetcode: Intersection of Two Linked Lists
- Leetcode: Intersection of Two Linked Lists
- Intersection of Two Linked Lists--leetcode
- [leetcode]Intersection of Two Linked Lists
- leetcode:Intersection of Two Linked Lists
- leetcode之Intersection of Two Linked Lists
- 【Leetcode】:Intersection of Two Linked Lists
- leetcode Intersection of Two Linked Lists
- [LeetCode]Intersection of Two Linked Lists
- leetcode: Intersection of Two Linked Lists
- 【LeetCode】Intersection of Two Linked Lists
- LeetCode Intersection of Two Linked Lists
- BZOJ1257 [CQOI2007]余数之和sum(枚举商)
- Matlab图像处理系列3———空间域锐化滤波器
- 卫星照片
- C++中如何计算程序运行的时间
- HDU 1317 Bellman-Ford
- leetcode--Intersection of Two Linked Lists
- reTextarea("content")函数---FCKEditor编辑器使用例子
- 两个工程关联应注意的问题
- Android之基本常见知识(持续更新) getwindow() requestWindowFeature()
- 推荐几本javascript与jquery的好书
- Apache Windows下关闭启动以及修改服务端口
- hadoop全套免费视频
- 解决跨浏览器读取XML文件的方法
- LeetCode | Two Sum