题解 | #两个链表的第一个公共结点#

两个链表的第一个公共结点

http://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46

package main
import . "nc_tools"

//双向奔赴?有点意思的题目,A+B = B+A,找最后相遇的点就是共同走的路
func FindFirstCommonNode( pHead1 *ListNode ,  pHead2 *ListNode ) *ListNode {
    // write code here
    if pHead1 == nil || pHead2 == nil {
        return nil
    }

    cur1, cur2 := pHead1, pHead2
    for cur1 != cur2 {
        if cur1 == nil {
            cur1 = pHead2
        } else {
            cur1 = cur1.Next
        }

        if cur2 == nil {
            cur2 = pHead1
        } else {
            cur2 = cur2.Next
        }
    }
    return cur1
}








全部评论

相关推荐

评论
3
1
分享

创作者周榜

更多
牛客网
牛客企业服务