美文网首页
Python实现两个链表的第一个公共节点

Python实现两个链表的第一个公共节点

作者: Gxxx_xx | 来源:发表于2018-05-26 17:33 被阅读0次

    题目描述:

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

    答案太巧妙,本猪完全没有想到,故在此记录一下:

    首先依次遍历两个链表,记录两个链表的长度m和n,如果 m > n,那么我们就先让长度为m的链表走m-n个结点,然后两个链表同时遍历,当遍历到相同的结点的时候停止即可。对于 m < n,同理。

    因为每个节点都只会有一个next属性,故当存在一个公共节点时,两个链表在此之后直至链表结束都会是重合的,故可以直接从短的链表长度开始同时遍历。

    (至此信心已经被打击到谷底了:( )

    相关文章

      网友评论

          本文标题:Python实现两个链表的第一个公共节点

          本文链接:https://www.haomeiwen.com/subject/agwmjftx.html