求单链表倒数第m个结点
问题:求单链表倒数第m个结点,要求不准求链表的长度,也不许对链表进行逆转
解:设置两个指针p和q,p、q指向第一个结点。让p先移动到链表的第m个结点,然后p和q同时向后移动,直到p首先到达尾结点。此时,q结点落后p (m-1)个结点,q所指向的结点就是单链表的倒数第m个结点。
算法实现:
linkNode *searchLinkM(linkNode *link,int m)
{
linkNode *p=link->next;
if(p!=NULL&m>)
{
for(int i=;i<m;i++)
{
p=p->next;
if(p==NULL)
{
cout<<"该链表没有倒数第m个结点"<<edl;
return NULL;
}
}
linkNode *q=link->next;
while(p->next!=NULL)
{
p=p->next;
q=q->next;
}
return q;
}
求单链表倒数第m个结点的更多相关文章
- 19. Remove Nth Node From End of List【Medium】【删除单链表倒数第n个结点】
Given a linked list, remove the n-th node from the end of list and return its head. Example: Given l ...
- 编程题:求单链表倒数第k位的值(最后一位为倒数第0位)好未来
#!/usr/bin/env python class Node(object): def __init__(self,elem,next_=None): self.elem = elem self. ...
- PTA之求单链表结点的阶乘和
本题要求实现一个函数,求单链表L结点的阶乘和.这里默认所有结点的值非负,且题目保证结果在int范围内. 时间限制: 400ms 内存限制: 64MB 代码长度限制: 16KB 函数接口定义: int ...
- PTA基础编程题目集6-6求单链表结点的阶乘和(函数题)
本题要求实现一个函数,求单链表L结点的阶乘和.这里默认所有结点的值非负,且题目保证结果在int范围内. 函数接口定义: int FactorialSum( List L ); 其中单链表List的定义 ...
- 166 链表倒数第n个结点
原题网址:https://www.lintcode.com/problem/nth-to-last-node-in-list/description 描述 找到单链表倒数第n个节点,保证链表中节点的最 ...
- 删除单链表倒数第n个节点
基本问题 如何删除单链表中的倒数第n个节点? 常规解法 先遍历一遍单链表,计算出单链表的长度,然后,从单链表头部删除指定的节点. 代码实现 /** * * Description: 删除单链表倒数第n ...
- c 单链表反转(不添加新结点空间)
最近复习考研,加上一直都将"算法"放在很高的位置,所以,蛮重视算法的.不多说了,其实这个问题,不难理解的. 主要代码: //反转单链表. void reverse(linklist ...
- 每天一个小算法(5)----找到链表倒数第K个结点
估计这个问题在面试中被问烂了. 思路是先找到正数的第K个结点的指针pT,然后和指向头结点的指针pN一起向后移动,直到第K个指针指向NULL,此时pN指向的结点即倒数第K个结点. 如图: #includ ...
- [PHP] 数据结构-输出链表倒数第k个结点PHP实现
输入一个链表,输出该链表中倒数第k个结点.第一个指针走(k-1)步,到达第k个节点,两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了 <?php clas ...
随机推荐
- UVA 1484 - Alice and Bob's Trip(树形DP)
题目链接:1484 - Alice and Bob's Trip 题意:BOB和ALICE这对狗男女在一颗树上走,BOB先走,BOB要尽量使得总路径权和大,ALICE要小,可是有个条件,就是路径权值总 ...
- vsftpd虚拟用户创建实例(转载)
vsftpd虚拟用户创建实例 发布:theboy 来源:net [大 中 小] vsftpd虚拟用户创建实例,有需要的朋友可以参考下. vsftpd虚拟用户创建实例,有需要的朋友可以参考 ...
- Golang学习 - sync 包
------------------------------------------------------------ 临时对象池 Pool 用于存储临时对象,它将使用完毕的对象存入对象池中,在需要 ...
- 10分钟学会AngularJS的数据绑定
前言:为什么要用AngularJS? 相信用过.NetMVC的人都知道用rezor绑定数据是一件很爽的事情,C#代码直接在前台页面中输出.然后这种比较适用于同步请求. 当我们的项目离不开异步请 ...
- Frogs' Neighborhood
Frogs' Neighborhood Time Limit: 5000MS Memory Limit: 10000K Total Submissions: 7920 Accepted: 33 ...
- #maven解决乱码问题
<build> <plugins> <plugin> <groupId>org.apache.maven.pl ...
- [Arduino] Arduino Uno R3 中文介绍
Arduino UNO是Arduino USB接口系列的最新版本,作为Arduino平台的参考标准模板.UNO的处理器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可作为PWM输出 ...
- Nodejs新建博客练习(二)添加flash支持
安装必须模块 npm install connect-flash npm install express-session 然后在app.js里面添加一些代码 var flash = require(' ...
- MySQL5.0版本的安装图解教程
MySQL5.0版本的安装图解教程是给新手学习的,当前mysql5.0.96是最新的稳定版本. mysql 下载地址 http://www.jb51.net/softs/2193.html 下面的是M ...
- ubuntu下规避终端打开gvim出现的错误
在终端下面打开gvim会出现下面的错误: GLib-GObject-WARNING **: Attempt to add property GnomeProgram::display after cl ...