链表中倒数第k个结点
2015-04-15 15:54
155 查看
题目描述:
输入一个链表,输出该链表中倒数第k个结点。
输入:
输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为两个整数n和k(0<=n|k<=1000)n代表将要输入的链表元素的个数,k代表要查询倒数第几个的元素。输入的第二行包括n个数t(1<=t<=1000000):代表链表中的元素。
输出:
对应每个测试案例,若有结果,输出相应的查找结果。否则,输出NULL。
样例输入:
5 2
1 2 3 4 5
1 0
5
样例输出:
4
NULL
输入一个链表,输出该链表中倒数第k个结点。
输入:
输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为两个整数n和k(0<=n|k<=1000)n代表将要输入的链表元素的个数,k代表要查询倒数第几个的元素。输入的第二行包括n个数t(1<=t<=1000000):代表链表中的元素。
输出:
对应每个测试案例,若有结果,输出相应的查找结果。否则,输出NULL。
样例输入:
5 2
1 2 3 4 5
1 0
5
样例输出:
4
NULL
#include<stdio.h> #include<stdlib.h> typedef struct node { int data; struct node *next; }Lnode ,*Linklist; Linklist creatLinklist(int n) { Linklist H=NULL; Lnode *s,*r; int x; for(int i=0;i<n;i++) { scanf("%d",&x); s=(Lnode *)malloc(sizeof(Lnode)); s->data=x; if(H==NULL) H=s; else r->next=s; r=s; } if(r!=NULL) r->next=NULL; return H; } void Get_Lnode(Linklist H,int i) { Lnode *p=H; int j=1; while(j<i) { p=p->next; j++; } printf("%d\n",p->data); } int main() { int n,k; while(scanf("%d",&n)!=EOF) { scanf("%d",&k); Linklist H=creatLinklist(n); if(k>n) printf("%s\n","NULL"); else Get_Lnode(H,n-k+1); } }
相关文章推荐
- 查找单链表中倒数第k个结点||旋转单链表
- 面试题15:输入一个链表,输出该链表中倒数第k个结点。
- 链表中倒数第k个结点
- CCI 2.2 找出单向链表中倒数第k个结点
- 【数据结构】链表中倒数第k个结点
- 剑指Offer面试题14使数组中的奇数在偶数前,面试题15链表倒数第k个结点
- 链表中倒数第K个结点
- python剑指offer 链表倒数第k个结点
- 剑指-链表中倒数第k个结点
- 剑指Offer_面试题15_链表中倒数第k个结点
- 链表中倒数第k个结点
- 剑指Offer 15 输入一个链表,输出该链表中倒数第k个结点
- 输出单向链表中倒数第k个结点
- 题目15:链表中倒数第K个结点
- 【华为oj】输出单向链表中倒数第k个结点
- 面试题15:链表中倒数第k个结点
- 求链表的倒数第K个结点
- 链表中倒数第k个结点
- 《剑指offer》(面试题15):链表中倒数第k个结点
- 剑指offer 面试题15: 链表中倒数第k个结点 题解