Leetcode 160. 相交链表
Posted randyniu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 160. 相交链表相关的知识,希望对你有一定的参考价值。
/** * 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) { int cnt = 0; ListNode * tmp = headA; while(tmp) { cnt++; tmp = tmp->next; } tmp = headB; while(tmp) { cnt--; tmp = tmp->next; } ListNode* another = NULL; tmp = cnt>0 ?headA:headB; another = tmp==headA?headB:headA; cnt = cnt>0?cnt:-1*cnt; while(cnt) { tmp=tmp->next; cnt--; } while(tmp && another) { if(tmp == another) { return tmp; } tmp=tmp->next; another= another->next; } return NULL; } };
以上是关于Leetcode 160. 相交链表的主要内容,如果未能解决你的问题,请参考以下文章