【九度OJ】:链表中倒数第K个节点
来源:互联网 发布:刚开的淘宝店铺如何运营 编辑:程序博客网 时间:2024/06/05 12:07
思路:
1,建链表
2,用双链表,将其中一个先循环到K位置,此时将第一个和第二个同时往后走,当第一个链表结束时第二个链表刚好到链表中的第K个节点
AC代码如下:
#include <stdio.h>#include <stdlib.h>typedef struct node{ int number; struct node * next;}Node;int getK(Node *link,int k);int main(){ int n,k,i,temp; int flag; while(scanf("%d %d",&n,&k)!=EOF && n>=0 && n<=1000 && k>=0 && k<=1000 ){ Node *link = (Node *)malloc(sizeof(Node)); link->next = NULL; flag = 0; Node *tail; tail = link; for(i=0;i<n;i++){ scanf("%d",&temp); Node *n = (Node *)malloc(sizeof(Node)); tail->next = n; tail = n; n->number = temp; } int numberK = getK(link,k); numberK ==-1?printf("NULL\n"):printf("%d\n",numberK); } return 0;}int getK(Node *link,int k){ Node *p1,*p2; int i; if(link->next == NULL || k == 0) return -1; p1 = link->next; for(i=1;i<k;i++){ if(p1->next == NULL) return -1; p1 = p1->next; } p2 = link->next; while(p1->next!=NULL){ p1 = p1->next; p2 = p2->next; } return p2->number;}
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个节点)
- 查找链表中倒数第K个节点
- 输出链表中倒数第k个节点
- 链表中倒数第k个节点
- 链表中倒数第k个节点
- 删除链表中倒数第k个节点
- 链表中倒数第K个节点
- 链表中倒数第k个节点
- 链表中倒数第k个节点
- 查找链表中倒数第k个节点
- 链表中倒数第K个节点
- 我为什么用简书和Markdown写作+基本使用指南
- linux内存与虚拟内存
- Css布局属性详解
- Android探索之旅 | StrictMode严苛模式
- (2)采购资金
- 【九度OJ】:链表中倒数第K个节点
- Git,Github和Gitlab简介和基本使用
- 蓝桥杯 ALGO-86矩阵乘法
- Linux中比Top颜值更高的系统监控工具Glances
- 对于程序员, 为什么英语比数学更重要? 如何学习
- HDU 5691 Sitting in Line 状压dp
- 程序员如何长寿 | 从CSDN大牛博主猝死想到的
- [转] 学习React Native必看的几个开源项目
- 带你开发类似Pokemon Go的AR游戏(1)