首页 > 代码库 > 《剑指Offer》题目:链表中倒数第k个结点
《剑指Offer》题目:链表中倒数第k个结点
题目描述:输入一个链表,输出该链表中倒数第k个结点
题目分析:因为不能直接从链表的尾部遍历,所以要分两步走:
第一步:从链表的头部开始遍历,直至链表的尾部,统计出链表结点的个数
第二步:根据链表结点的个数,计算出倒数第k个结点的位置(从头部看的位置),即n-k+1个结点,输出该结点。
Java代码:
class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } public class FindKthToTail { public ListNode FindKthToTail(ListNode head,int k) { ListNode listNode = head; if (listNode == null) return null; int temp = 0; while (listNode != null){ listNode = listNode.next; temp++; } if(k>temp) return null; temp = temp - k + 1; ListNode listNode1 = head; while (temp > 1){ listNode1 = listNode1.next; temp--; } return listNode1; } }
《剑指Offer》题目:链表中倒数第k个结点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。