题解 | #两个链表的第一个公共结点#
两个链表的第一个公共结点
https://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46
package main import . "nc_tools" /* * type ListNode struct{ * Val int * Next *ListNode * } */ /** * * @param pHead1 ListNode类 * @param pHead2 ListNode类 * @return ListNode类 */ func FindFirstCommonNode( pHead1 *ListNode , pHead2 *ListNode ) *ListNode { // 1, 2, 3, 6, 7, 4, 5, 6, 7 // 4, 5, 6, 7, 1, 2, 3, 6, 7 // a + b = b + a 有公共点必相遇 p1, p2 := pHead1, pHead2 for p1 != p2 { if p1 == nil { p1 = pHead2 }else{ p1 = p1.Next } if p2 == nil { p2 = pHead1 }else{ p2 = p2.Next } } return p1 }