链表中倒数第K个结点
来源:互联网 发布:图片文字制作软件 编辑:程序博客网 时间:2024/06/05 18:00
题目:输入一个链表 输出该链表中倒数第K个结点 从1开始计数 即链表的尾结点是倒数第1个结点 如一个链表有6个结点
从头结点开始他们的值一次为1 2 3 4 5 6 这个链表的倒数第3个结点值为4
链表结点定义如下:
struct ListNode{int m_nValue;ListNode *m_pNext;};
----------------------------------------
#include <iostream>using namespace std;struct ListNode{int m_nValue;ListNode *m_pNext;};ListNode *creatlist(int n){ListNode *p=(ListNode *)malloc(sizeof(ListNode));ListNode *s=p;int temp=0;if(n==0){p=NULL;return p;}cout<<"输入第"<<0<<"个结点:"; cin>>temp;p->m_nValue=temp;p->m_pNext=NULL;for(int i=1;i<n;i++){ListNode *t=(ListNode *)malloc(sizeof(ListNode));cout<<"输入第"<<i<<"个结点:";cin>>temp;t->m_nValue=temp;t->m_pNext=NULL;p->m_pNext=t;p=t;}p->m_pNext=NULL;return s;}int finds(ListNode *s,int k){ListNode *p1=s;ListNode *p2=s;if(k<=0)return -1;while(k){if(p1==NULL)return -1;//查找错误~~~~p1=p1->m_pNext;k--;}while(p1){p1=p1->m_pNext;p2=p2->m_pNext;}return (p2->m_nValue);}int main(){int n;cout<<"输入链表结点个数:";cin>>n;ListNode *head=creatlist(n);int k=0;cout<<"输入要查找的倒数第K个结点:";cin>>k;cout<<finds(head,k)<<endl;return 0;}
0 0
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第 k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 输出链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 链表中倒数第k个结点
- 链表中倒数第k个结点
- 查找链表中倒数第k 个结点
- 链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 链表中倒数第k个结点
- 链表中倒数第k个结点[数据结构]
- 链表中倒数第k个结点
- Extension
- (搬运工)NGUI官网示例11 –Drag ; Drop(图标与物体拖拽放置)
- 怎样设置范围使数据透视表能自适应数据源记录的变化
- 在命令行中加参数的文件复制程序
- org.tinygroup.validate-验证框架
- 链表中倒数第K个结点
- Ubuntu设置开机默认进入字符界面
- SSH中初次使用Ajax
- centOs 开发环境,jdk,mysql,tomcat
- org.tinygroup.context-上下文环境
- ios项目删除Git
- Werther Quest 笔记
- Median of Two Sorted Arrays
- IOS8开发技术之自动布局