您的位置:首页 > 其它

链表中倒数第k个结点

2018-03-24 09:32 183 查看

题目描述

输入一个链表,输出该链表中倒数第k个结点。

解题方案

本题是求得倒数第k个结点,所以我们可以想到可以使用两个节点,使它们的间距为k-1即可,先将第一个节点向后走k-1步,然后两个节点一起向后走,一旦第一个节点碰到null之后,则第二个节点就是倒数第k个节点

/*
public class ListNode {
int val;
ListNode next = null;

ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode FindKthToTail(ListNode head,int k) {
if(head == null || k <= 0){
return null;
}
ListNode pre = head;
ListNode last = head;
for(int i=1;i<k;i++){
if(pre.next == null){
return null;
}else{
pre = pre.next;
}
}
while(pre.next != null){
pre = pre.next;
last = last.next;
}
return last;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: