链表中倒数第k个节点(九度OJ 1517)
来源:互联网 发布:手提包淘宝店名称 编辑:程序博客网 时间:2024/05/16 11:02
题目描述:
输入一个链表,输出该链表中倒数第k个结点。
(hint: 请务必使用链表。)
- 输入:
输入可能包含多个测试样例,输入以EOF结束。
对于每个测试案例,输入的第一行为两个整数n和k(0<=n<=1000, 0<=k<=1000):n代表将要输入的链表元素的个数,k代表要查询倒数第几个的元素。
输入的第二行包括n个数t(1<=t<=1000000):代表链表中的元素。
- 输出:
对应每个测试案例,
若有结果,输出相应的查找结果。否则,输出NULL。
- 样例输入:
5 21 2 3 4 51 05
- 样例输出:
4NULL
源代码:
#include <stdio.h>#include <malloc.h>typedef int Elemtype;typedef struct Lnode{ int data; Lnode *next;} LinkList;void CreateList(LinkList *&l,Elemtype a[],int n){ int i; LinkList *s,*r; l=(LinkList *)malloc(sizeof(LinkList)); r=l; for(i=0;i<n;i++) { s=(LinkList *)malloc(sizeof(LinkList)); s->data=a[i]; r->next=s; r=s; } r->next=NULL;}void SearchAndDispList(LinkList *l,int n,int k){ LinkList *p=l->next; int num=1; int flag=n-k+1; if(!(k>=1 && k<=n)) printf("NULL\n"); else { while(num<flag && p!=NULL) { num++; p=p->next; } printf("%d\n",p->data); }}int main(){ int n,k; int i; LinkList *l; Elemtype a[1000]; while(scanf("%d %d",&n,&k)!=EOF) { for(i=0;i<n;i++) scanf("%d",&a[i]); CreateList(l,a,n); SearchAndDispList(l,n,k); } return 0;}
程序截图:
0 0
- 【九度OJ】:链表中倒数第K个节点
- 链表中倒数第k个节点(九度OJ 1517)
- 九度oj-1517-链表中倒数第k个结点
- 九度oj 1517 链表中倒数第k个结点
- 【剑指Offer面试编程题】题目1517:链表中倒数第k个结点--九度OJ
- 九度OJ-题目1517:链表中倒数第k个结点
- [链表]九度OJ-1517:链表中倒数第k个结点
- 华为OJ(输出单链表倒数第K个节点)
- 题目1517:链表中倒数第k个结点-九度
- 九度题目1517:链表中倒数第k个结点
- 查找链表中倒数第K个节点
- 输出链表中倒数第k个节点
- 链表中倒数第k个节点
- 链表中倒数第k个节点
- 删除链表中倒数第k个节点
- 链表中倒数第K个节点
- 链表中倒数第k个节点
- 链表中倒数第k个节点
- SDUTACM 顺序表应用2:多余元素删除之建表算法
- java Builder模式
- 二维数组排序
- jzoj4799 我的快乐时代
- 字符串-字符串的旋转
- 链表中倒数第k个节点(九度OJ 1517)
- HTML5学习_day05(8)--html之伪类元素选择器(伪元素)
- 在VS2013环境下MFC学习:新建MFC工程
- Java报表之JFreeChart-第二讲
- AS安装
- 第十三天
- 又拍云存储使用记录
- AWS EC2 服务建立云端Deep Learning开发环境 -- GPU with Tensorflow and Caffe
- 第四周项目2 建立单链表算法库