AcWing 66. 两个链表的第一个公共结点
原题链接
简单
作者:
Baymax0211
,
2019-04-11 15:11:25
,
所有人可见
,
阅读 1449
算法1
(暴力枚举) $O(n^2)$
C++ 代码
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
/*
a+c+b 交叉走
b+c+a 两个是相等的
*/
class Solution {
public:
ListNode *findFirstCommonNode(ListNode *headA, ListNode *headB) {
auto p = headA,q = headB;
while(q != p ){
if( q) q = q -> next;
else q = headA;
if(p ) p = p -> next;
else p = headB;
}
return p ;
}
};
复杂度是O(n2)嘛,我感觉是O(n)耶