题解 | #链表中倒数最后k个结点#
链表中倒数最后k个结点
https://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 //大体思路:先让一个指针走K个节点,在让两个指针同时走,如果在前面的指针到达链表的终点,那么后面的指针即为倒数第n个节点。 ListNode head=pHead; ListNode temp=head; for(int i=0;i<k;i++){ if(head==null){//注意考虑当k>链表长度的情况 return null; } head=head.next; } while(head!=null){ head=head.next; temp=temp.next; } return temp; } }