---
title: 求两链表的交点
date: 2019-02-20
updated: 2019-02-21
---
# 求两链表的交点
我想有3个方法:
1. 将一个链表首尾相连,然后采用[Floyd 判圈法](/p/algorithm/list-intersection-floyd)
2. 用两个栈遍历链表,然后同时从栈尾 pop 出相同的值
3. 先让较长表偏移链尾对齐(偏移k是两表长度的差),再让两表同时遍历,第一个相等的值就是交点

# 求单链表倒数k 个值
方法:
1. 准备两个指针,p1 指向head, p2偏移到第k 个
2. 两个指针同时移动,当p2指针到达尾部时,p1指针就是所求的值。
  1. 笔记