我是靠谱客的博主 香蕉盼望,最近开发中收集的这篇文章主要介绍leetcode-两个链表的第一个公共节点-47,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目要求
  输入两个链表,找出它们的第一个公共节点。
思路
  先将两个链表进行遍历,如果有节点相交,直接返回,没有节点相交,将先结束的那个链表的指针指向另一个链表的头结点,从新判断,这样两个链表最多一共循环链表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-两个链表的第一个公共节点-47所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部