题目描述:链表中倒数第 K 个结点。

i c } m l p a o s r s f } t u F n F o c o r g } v v v w } i } r u 1 r u a a a h f e n 5 e a r r r i t d S v r l i u a o e d r i p q e p i } i r r t l r e f < e n i u s h t = = = p = + t o t e e u ? i = k u q n i d a r 0 h h . p q r o K d n e e n ? > 1 - n n ( a a e . = = _ ! n d d x n 1 n { = i t e k q i h l x ? { l e n ! t - . a i = n d l 1 e : n x & i { t L & l i s k { t N ! o = d e 0 ? , e _ l s k e : { I n t ) L i s t N o d e ? {

算法思想:设链表的长度为 N。设置两个指针 P1 和 P2,先让 P1 移动 K 个节点,则还有 N - K 个节点可以移动。此时让 P1 和 P2 同时移动,可以知道当 P1 移动到链表结尾时,P2 移动到第 N - K 个节点处,该位置就是倒数第 K 个节点。

github地址:https://github.com/cubegao/LeetCode