go实现
首先,使用两个指针分别指向两个链表
如果其中一个到达了终点,则把另一个链表头节点赋值给对应指针,
直到最后两个指针指向同一个位置
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 { // write code here l1, l2 := pHead1, pHead2 for l1 != l2 { if l1 == nil { l1 = pHead2 }else{ l1 = l1.Next } if l2 == nil { l2 = pHead1 }else{ l2 = l2.Next } } return l1 }