题目要求
输入两个链表,找出它们的第一个公共节点。
思路
先将两个链表进行遍历,如果有节点相交,直接返回,没有节点相交,将先结束的那个链表的指针指向另一个链表的头结点,从新判断,这样两个链表最多一共循环链表1的长度加上链表2的长度,如果有相同节点也一定会找到。
代码实现
class Solution {
public:
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
ListNode* cur1 = headA;
ListNode* cur2 = headB;
while (cur1 != cur2)
{
cur1 = cur1 != NULL ? cur1->next : headB;
cur2 = cur2 != NULL ? cur2->next : headA;
}
return cur1;
}
};
最后
以上就是香蕉盼望最近收集整理的关于leetcode-两个链表的第一个公共节点-47的全部内容,更多相关leetcode-两个链表内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复