两个单向链表,大小为 m , r 并且想在第二个链表头部之后插入第一个链表节点,该方法的时间复杂度必须为 O(1)。
这对我来说确实是一个有趣的难题。Eatch time我想到一个解决方案,时间复杂度是O(m+r)
我需要一些提示来解决这个问题。我在这个问题上付出了无用的努力。
编辑:
让我分享一下我到目前为止所拥有的:
- 创建一个新的链表
- 添加第二个列表的 HEAD
- 还是 O(1)
- 添加第一个列表的所有节点
- 变成 (n)
从第一个列表中添加其余节点
成为另一个 (n-1)
更新:
你怎么看待这件事?我在这里询问后直接受到启发:)