Java寻找链表的倒数第k个结点

思路一:遍历整个链表求出链表长度(length);用 length - k 得出从 head 遍历到倒数第 k 个结点位置的长度 n - 1;再从头遍历链表到最后一个结点就是倒数第 k 个结点的位置。
完整调试程序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
空间复杂度:O(n)

思路二:用两个引用,让第一个引用(front)和第二个引用(cur)都指向头结点,让front先走 k - 1步,到达第 k 个结点;然后两个引用同时往后走,第一个引用到达链表尾部时,第二个引用所在的位置就是倒数第 k 个结点所在的位置。
完整调试程序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
空间复杂度:O(n)

发布了39 篇原创文章 · 获赞 32 · 访问量 1503

猜你喜欢

转载自blog.csdn.net/weixin_44780625/article/details/97529608