题解 | #链表中倒数最后k个结点#
链表中倒数最后k个结点
http://www.nowcoder.com/practice/886370fe658f41b498d40fb34ae76ff9
import java.util.*;
/*
- public class ListNode {
- int val;
- ListNode next = null;
- public ListNode(int val) {
-
this.val = val;
- }
- } */
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pHead ListNode类 * @param k int整型 * @return ListNode类 */ public ListNode FindKthToTail (ListNode pHead, int k) { // write code here if(pHead == null || k == 0) return null; ListNode p = pHead; int len = 1; // 遍历链表,计算链表的长度 while(p.next != null) { p = p.next; len++; } // 只有一个节点 if(len == 1 && k == len) return pHead; p = pHead; int m = len - k; // 大于链表长度 if(m < 0) return null; else { for(int i = 1; i <= m; i++) { p = p.next; } return p; } } }