public int kthToLast(ListNode head, int k) {
Stack<ListNode> stack = new Stack<>();
//链表节点压栈
while (head != null) {
stack.push(head);
head = head.next;
}
//在出栈串成新的链表
ListNode firstNode = stack.pop();
while (--k > 0) {
ListNode temp = stack.pop();
temp.next = firstNode;
firstNode = temp;
}
return firstNode.val;
}
使用栈,出栈时的元素重新再串。
该篇博客详细介绍了如何使用栈解决寻找链表中第k个倒数节点的问题。通过压栈所有链表节点,然后依次出栈并重新连接,可以有效地找到目标节点。这种方法巧妙地运用了栈的特性,实现了复杂度为O(n)的解决方案。
1114

被折叠的 条评论
为什么被折叠?



