题解 | #链表中倒数最后k个结点 01#
链表中倒数最后k个结点
https://www.nowcoder.com/practice/886370fe658f41b498d40fb34ae76ff9
import java.util.Stack; 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; } Stack<ListNode> stack = new Stack<>(); //链表节点压栈 while (pHead != null) { stack.push(pHead); pHead = pHead.next; } // 判断栈的元素是否小于k if (stack.size() < k){ return null; } //在出栈串成新的链表 ListNode firstNode = stack.pop(); while (--k > 0) { // 将出栈的元素重新连接成为链表 ListNode temp = stack.pop(); temp.next = firstNode; firstNode = temp; } return firstNode; } }