剑指 Offer 52. 两个链表的第一个公共节点

发布时间 2023-09-08 14:32:08作者: 小星code

题目链接: 剑指 Offer 52. 两个链表的第一个公共节点

题目描述:

输入两个链表,找出它们的第一个公共节点。

解法思路:

代码:

/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func getIntersectionNode(headA, headB *ListNode) *ListNode {
    var res *ListNode
    if headA == nil || headB == nil{
        return res
    }
    for p,q := headA,headB;p != nil || q != nil  ;p,q = p.Next,q.Next{
        if p == nil{
            p = headB
        } 
        if q == nil {
            q = headA 
        }
        if p == q {
            res = p
            break
        }
    }
    return res  
}