leetcode——160——Intersection of Two Linked Lists
来源:互联网 发布:优化科技创新生态系统 编辑:程序博客网 时间:2024/06/06 17:38
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. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { if(headA == NULL || headB == NULL) return NULL; int lengthA = 0; int lengthB = 0; ListNode* NodeA = headA; ListNode* NodeB = headB; while(NodeA!=NULL) { NodeA = NodeA->next; lengthA++; } while(NodeB!=NULL) { NodeB = NodeB->next; lengthB++; } NodeA = headA; NodeB = headB; if(lengthA>lengthB) { for(int i=0;i<(lengthA-lengthB);i++) { NodeA = NodeA->next; } } if(lengthA<lengthB) { for(int i=0;i<(lengthB-lengthA);i++) { NodeB = NodeB->next; } } while(NodeA->val!=NodeB->val) { NodeA = NodeA->next; NodeB = NodeB->next; if(NodeA ==NULL|| NodeB == NULL) return NULL; } return NodeA; }};
0 0
- leetcode 160 —— Intersection of Two Linked Lists
- [leetcode]Intersection of Two Linked Lists —— 熟悉python
- Python学习——leetcode(Intersection of Two Linked Lists)
- LeetCode——Intersection of Two Linked Lists
- LeetCode题解——Intersection of Two Linked Lists
- Leetcode——160. Intersection of Two Linked Lists
- LeetCode——Intersection of Two Linked Lists
- leetcode——160——Intersection of Two Linked Lists
- LeetCode 160 — Intersection of Two Linked Lists(C++ Python)
- 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 ]
- 数据库范式
- 总结的一些面试问题-java
- 自动删除按时间自增量分区job
- java 数据类型
- 简单斐波那契数列
- leetcode——160——Intersection of Two Linked Lists
- JavaScript concat() 方法
- iOS下的实际网络连接状态检测
- qt 截获windows消息
- 集合类(Collection) List/Set/Map... 的区别和联系
- Wireshark-DNS数据报分析
- (一)maven-- 创建一个maven web工程
- CentOS 6.3下配置LVM(逻辑卷管理)
- C/C++中的移位运算