首页 > TAG信息列表 > pAhead

剑指offer:00倒数第k个节点

解法一:双指针 坑: 1:k的越界判断,对其大于链表大小,小于0的的情况进行处理 2:当k值大于链表长度时,返回nullptr,而不是表头 C++ /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { p

剑指Offer第15题(链表中倒数第k个结点)

(本博客旨在个人总结回顾) 题目描述:        输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个结点是值为4的结点。 链

剑指Offer:反转列表(C++)(含完整代码)

剑指Offer:链表中倒数第k个结点(含完整代码) 题目描述: 输入一个链表,输出该链表中倒数第k个结点。 假设整个链表有n个结点,那么倒数第k个结点就是从头结点开始的第n-k+1个结点。如果我们能够得到链表中的结点个数n,那我们只要从头结点开始往后走n-k+1步就可以了。如何得到结点

面试题22:链表中倒数第k个节点

思路1: 先遍历链表一次,统计出链表节点个数n, 然后,倒数第k个节点是,n-k+1。 缺点:该方法需要遍历两次列表。   思路2: 定义两个指针,第一个指针向前遍历k-1步,第二个指针保持不动; 从第k步开始,第二个指针从链表头指针开始遍历,当第一个指针到底链表的尾端,第二个指针正好指向倒数第k个节点。

《剑指offer》面试题 22:链表中倒数第k个结点(C++实现)

题目 输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个结点是值为4的结点。 代码 #pragma once // 题目:输入一个链表