`
moxiaomomo
  • 浏览: 44161 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

查找链表的倒数第k个元素

阅读更多

设置两个指针,让其中一个指针比另一个指针先前移k步,然后两个指针同时往前移动。
循环直到先行的指针值为NULL时,另一个指针所指的位置就是所要找的位置。

template<class T>
struct ListNode        //链表节点元素,结构体
{
	T data;

	ListNode* next;
};

template<class T>
ListNode<T>* findElem(ListNode<T> *head,int k)
{
	ListNode<T> *ptr1,*ptr2;
	ptr1=ptr2=head;

	for(int i=0;i<k;++i) //前移k步
	{
		ptr1=ptr1->next;
	}

	while(ptr1!=NULL) //循环检测
	{
		ptr1=ptr1->next;
		ptr2=ptr2->next;
	}

	return ptr2;
}

1
2
分享到:
评论

相关推荐

    链表查找倒数第K个数

    链表功能的一个扩展延伸,查找倒数第K个元素,是某年考研题

    怎样找到链表倒数第k个元素

    题目:输入一个单向链表,输出该链表中倒数第k个结点。...分析:使用两个指针,low,fast,先把fast的指针指向第k个元素,然后low和fast同时向后遍历,当fast遍历到结尾时,low正好遍历到倒数第k个。

    求链表位置的方法1

    题目:1.单链表中查找倒数第k个元素2.给一个single linked list找到中间的元素第一个问题:经典方法 使用两个指针 是否有其他方法呢, 使用两个

    leroyg#leetcode-algorithm#双指针技巧1

    1、判定链表中是否含有环 2、已知链表中含有环,返回这个环的起始位置 3、寻找链表的中点 4、寻找链表的倒数第 k 个元素 1、二分查找 2、两数之和 3、反转

    线性表的链式表示与实现(c语言)

    线性表的删除,插入,按值查找,显示,查找倒数第k个元素

    LeetCode解题总结

    2.6 删除倒数第N个节点 2.7 成对交换链表元素 2.8 复制复杂链表 2.9 链表环相关问题 2.9.1 链表是否有环 2.9.2 链表环的入口 2.10 改变链表中的元素位置2.11 LRU Cache(设计题) 3. 字符串 3.1 判断字符串是否为...

    数据结构与算法.xmind

    找到链表中倒数第k个节点 不同实现 设置两个指针p1、p2,让p2比p1快k个节点,同时向后遍历,当p2为空,则p1为倒数第k个节点 (-k+1+链表总数) % 链表总数 查询链表的中间节点 一个每次...

    寻找主元素leetcode-Leetccode:Leetcode/剑指offer/一些算法题目集锦

    链表中的倒数第k个节点 go&&C++ 牛客网 二叉树镜像 C++ 牛客网 链表的反转 C++ 牛客网 树的子结构 C++ 牛客网 二叉树的后序遍历 C++ Leetcode 旋转图像 C++ Leetcode 二叉树的堂兄弟 C++ Leetcode AVL C++ Leetcode ...

    leetcode2-leetcode:使用python刷leetcode题目

    移除链表倒数第n个元素 20. 验证大小中括号是否成对闭合匹配 21. 合并两个已排序的链表 22. 构造n个成对括号 23. 合并n个已排序的链表 24. 成对交换链表节点 25. k组倒置链表节点 26. 移除数组中重复元

    LeetCode刷题模板.pdf

    1.3.3.4. LC-34:在排序数组中查找元素的第一个和最后一个 23 1.3.3.5. LC-658:找到K个最接近的元素 25 1.3.4. 小结 28 1.4. LeetCode中二分查找题目 29 2. 双指针 30 2.1. 快慢指针 31 2.1.1. 什么是快慢指针 31 ...

    颜色分类leetcode-leetcode:leetcode

    19、删除链表的倒数第N个结点 21、合并两个有序链表 23、合并K个升序链表 25、k个一组翻转链表 26、删除排序数组中的重复项 27、移除元素 28、实现strStr() 35、搜索插入位置 53、最大子序和 56、合并区间 58、最后...

    leetcode-python:leetcode刷题记录

    排序类 ,引申:自然数组排序 重载python sort规则 查找类 (利用部分信息)二分查找,(利用所有... 链表中倒数第k个节点 链表双指针 剑指Offer 24. 反转链表 链表指针 剑指Offer 54. 二叉搜索树的第k大节点 二叉搜

    leetcode跳跃-leetcode:leetcode刷题笔记

    在排序数组中查找元素的第一个和最后一个位置 简单二分搜索 :star:039-2. 组合总和 数组+双端链表(栈)+回溯 124-3. 二叉树中的最大路径和 二叉树+递归 141-1. 环形链表 链表+快慢指针 142-2. 环形链表Ⅱ 链表+快慢...

    leetcode安卓-leetcode_alg_practice:在LeetCode上破解1049个算法问题!(自2020-02-28)

    leetcode安卓 leetcode_alg_practice ,2020-02-28 ,2020-03-02 ,2020-03-05 0004 寻找两个有序数组的中位数 0005 最长回文子串 0006 ...删除链表的倒数第N个节点...在排序数组中查找元素的第一个和最后一个位置 0035 搜

    判断青蛙过河leetcode-leetcode:https://leetcode-cn.com/problemset/all/

    22、链表中倒数第k个节点 24、反转链表 25、合并两个排序的链表 52、两个链表的第一个公共节点 整数拆分(多少种分法)√ 整数拆分(最大乘积)√ 青蛙过河 √ 斐波那切数列第n项 √ 青蛙跳台阶问题分析(实质上就是...

    Leetcode扑克-LeetCodeJava:leetcode刷题java

    删除链表的倒数第N个节点 Day18 另一个树的子树 Day19 删除排序链表中的重复元素 II Day20 正则表达式匹配 Day21 对称二叉树 Day22 最小栈 Day23 复制带随机指针的链表 Day24 将二叉搜索树转化为排序的双向链表 Day...

    leetcode数组下标大于间距-LeetCode:秋招刷题总结

    删除链表的倒数第N个节点 Medium 链表 20 有效的括号 Easy 字符串 23 合并K个排序链表 Hard 链表 | 堆 24 两两交换链表中的节点 Medium 链表 25 k个一组翻转链表 Hard 链表 26 删除排序数组中重复的项 Easy 数组 | ...

    leetcode有效期-LeetCode:力码

    在排序数组中查找元素的第一个和最后一个位置 36 有效的数独 39 数组总和 Hard 4 寻找两个正序数组中的中位数 10 正则表达式匹配 23 合并K个升序链表 25 K个一组翻转链表 30 串联所有单词的子串 32 最长有效括号 37 ...

    leetcode苹果-Algorithm_Rex:LeetCode去吧!去吧!

    leetcode 苹果 算法和数据结构记录 :beating_heart::非常值得看 题目 题号 题目(中) Link 难度 0001 ...寻找两个有序数组的中位数 ...删除链表的倒数第N个节点 ...在排序数组中查找元素的第一个和最后一个位置 mediu

    LeetCode判断字符串是否循环-leetcode:leetcode

    19.删除链表的倒数第n个元素。使用两相距n个元素的指针辅助。 20.判断括号组是否有效。使用栈,每逢组成一对就出栈。 21.合并两有序链表。使用dummy头指针,可方便操作。 22.求n组括号的所有组合数。回溯,能填左...

Global site tag (gtag.js) - Google Analytics