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

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

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
}

全部评论

相关推荐

07-17 11:56
门头沟学院 Java
感谢东子的收留
码农索隆:好好好,优秀优秀
点赞 评论 收藏
分享
机械打工仔:我来告诉你原因,是因为sobb有在线简历,有些HR为了快会直接先看在线简历,初步感觉不合适就不会找你要详细的了
投了多少份简历才上岸
点赞 评论 收藏
分享
最近拿到了正浩的提前批offer感觉自己的实力得到了肯定,也给了我更多底气
搞机墨镜猫:正浩提前批官网好像就只有电力电子软硬件,哥们投的是这两个岗位吗
26届校招投递进展
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务