剑指 Offer 22. 链表中倒数第k个节点
题目:
思路:
【1】其实这道题和 19. 删除链表的倒数第 N 个结点 这题差不多,不过一个是要删除但是返回的依旧是首节点,而本体要求的是返回倒数第几位的节点。
【2】其次这道题的限制条件没有给出的很明确,如果K比链表长度还大呢。貌似都不需要处理,尬的一批。
代码展示:
//时间0 ms击败100% //内存39.4 MB击败72.76% /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode getKthFromEnd(ListNode head, int k) { ListNode cur = head; int length = 0; while (cur != null) { length++; cur = cur.next; } cur = head; for (int i = 1; i < length - k + 1; i++) { cur = cur.next; } return cur; } }