题目描述
输入一个链表,输出该链表中倒数第 k 个结点。
解题思路
利用两个结点,第一个结点走过 k 个结点之后,第二个结点再走。最后第一个结点为 null 的时候第二个结点就是倒数第 k 个结点。
注意:
- 第一个结点走的时候要注意可能会有空指针,也就是说链表并没有 k 个结点。这时走完就要判断是不是走了 k 个结点,如果不是,返回 null。
public class Solution {
public ListNode FindKthToTail(ListNode head, int k) {
ListNode node = head;
int i = 0;
for (; i < k && node != null; i++)
node = node.next;
if (i < k)
return null;
while (node != null) {
node = node.next;
head = head.next;
}
return head;
}
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于