Intersection of Two Linked List ---LeetCode
来源:互联网 发布:约瑟夫环c语言视频 编辑:程序博客网 时间:2024/06/16 05:05
https://leetcode.com/problems/intersection-of-two-linked-lists/
解题思路:
方法一利用两个表长度的差值,让长的链表先走,直到两个链表长度相等。接着两个表都一步一步走,如果碰头就 return。
/** * 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; int l1 = 0, l2 = 0; ListNode p1 = headA; ListNode p2 = headB; while(p1 != null) { l1++; p1 = p1.next; } while(p2 != null) { l2++; p2 = p2.next; } p1 = headA; p2 = headB; while(l1 < l2) { p2 = p2.next; l2--; } while(l1 > l2) { p1 = p1.next; l1--; } while(p1 != p2) { p1 = p1.next; p2 = p2.next; } return p1; }}
方法二是两个链表先同时走,走完了自己的长度接着指向对方的表头,这样循环着走。
/** * 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 p1 = headA, p2 = headB; while(p1 != null && p2 != null && p1 != p2) { p1 = p1.next; p2 = p2.next; if(p1 == null && p2 == null) return null; if(p1 == null) p1 = headB; if(p2 == null) p2 = headA; } return p1; }}
0 0
- intersection of two linked list|leetcode c++
- 【Leetcode】Intersection of Two Linked List
- 【Leetcode】 Intersection of two linked list
- [leetcode][list] Intersection of Two Linked Lists
- leetcode--160 intersection of two linked list
- Intersection of Two Linked List ---LeetCode
- LeetCode[Linked List]: Intersection of Two Linked Lists
- Intersection of Two Linked List
- Intersection Of Two Linked List
- LeetCode之Intersection of two linked list不同方法
- 160. Intersection of Two Linked Lists leetcode (list)
- [leetcode] [leetcode]Intersection of Two Linked Lists
- Intersection of Two Linked List -JS
- 【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
- xml 简单学习总结
- HOJ题目分类
- 简单背包问题<枚举>
- 基本数据类型对象包装类
- 自旋锁--Test and Set Clock机制分析
- Intersection of Two Linked List ---LeetCode
- Glide加载圆形图片
- 使用Adapter更新列表延迟的现象解析
- 冒泡排序的三种优化
- 解决遗留的问题
- 程序员提高学习网站
- iOS 开发 多线程详解之线程生命周期控制
- 七大排序
- 关键字inline