b*n
2 楼
还有一种做法,可以把两个链表的长度先求出来,这样就知道长度的差
然后再从头开始遍历一遍就行了
然后再从头开始遍历一遍就行了
h*c
3 楼
Another solution: virtually concatenate two linked list
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
if (!headA || !headB)
return NULL;
ListNode *currA = headA, *currB = headB;
while (currA != currB) {
currA = (currA) ? currA->next : headB;
currB = (currB) ? currB->next : headA;
}
return currA;
}
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
if (!headA || !headB)
return NULL;
ListNode *currA = headA, *currB = headB;
while (currA != currB) {
currA = (currA) ? currA->next : headB;
currB = (currB) ? currB->next : headA;
}
return currA;
}
相关阅读
有人能介绍一下Google 分组的情况吗?月光妹妹是码农么?thread和process区别,parallel和concurrent 区别[急问]请教关于OPT的问题有人面过kWantera吗大牛帮我看看这哪错了? iterative inorder traversalSolution Architect这个职位怎么样?急求一 Offer Letter,请网上各位兄弟姐妹帮忙 (转载)凡是面试回来就骂面试官的ID有人面过air products么?MElinkedin没给面试,也要冷冻一年吗?店面后做完take home test工程PhD Quit后可以找工作么?tumblr这家 技术如何?公司如何?现在的offer是必须口头offer就要答应,才给书面offer吗为啥有的公司不是everify?醉了, google直接给了onsite关于opt申请的小trick,工作经历有问题的可以看看提供Google内推刷题的境界