leetcode 简单第三十六题 相交链表
Posted 丁壮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 简单第三十六题 相交链表相关的知识,希望对你有一定的参考价值。
编写一个程序,找到两个单链表相交的起始节点。
例如,下面的两个链表:
A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3
在节点 c1 开始相交。
注意:
- 如果两个链表没有交点,返回
null
. - 在返回结果后,两个链表仍须保持原有的结构。
- 可假定整个链表结构中没有循环。
- 程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) { struct ListNode *A=headA; struct ListNode *B=headB; while(A!=B) { if (NULL == A) { A=headB; } else { A=A->next; } if (NULL == B) { B=headA; } else { B=B->next; } } return B; }
以上是关于leetcode 简单第三十六题 相交链表的主要内容,如果未能解决你的问题,请参考以下文章
全国计算机等级考试二级Python(2021年9月)备考笔记 第十二天