剑指offer--面试题23:链表中环的入口节点
来源:互联网 发布:手机淘宝货源一件代发 编辑:程序博客网 时间:2024/04/27 21:48
#include<stdio.h> #include<malloc.h> typedef struct LNode { int data; struct LNode *next; }*LinkList; LinkList Create_List_Tail(int length,int num) {//建立链表 LNode *L,*s,*r,*p; //L指向头结点,r指向尾结点,s指向新添加结点 L=(LinkList)malloc(sizeof(LNode)); L->next =NULL;//头结点L->data不存东西 r=L; for(int i=0;i<length;++i) {if(i==num) //入口结点p=r; s=(LinkList)malloc(sizeof(LNode)); scanf("%d",&s->data); r->next =s; r =s; } if(num==length) //环中只有一个元素,指向自己r->next=r;elser->next =p; return L; //返回链表 } LNode *MeetingNode(LinkList L){if(!L||!L->next)return NULL;LNode *slow=L->next;LNode *fast=slow->next;while(fast!=NULL){if(fast==slow)return fast;slow=slow->next;fast=fast->next;if(fast!=NULL)fast=fast->next;}return NULL;}LNode *EntryNode(LinkList L){LNode *p1,*p2,*meet;int i,loop_num;meet=MeetingNode(L);if(!meet)return NULL;//得到环中节点的数目for(loop_num=1,p1=meet; p1->next!=meet; ++loop_num,p1=p1->next);//p1重新指向开头,p1先移动,步数=环中结点的数目for(i=0,p1=L->next; i<loop_num; ++i,p1=p1->next);//再同时移动p1和p2for(p2=L->next; p1!=p2; p1=p1->next,p2=p2->next);return p1;}void main(){LinkList L;int length,num;printf("请输入链表长度:");scanf("%d",&length);printf("请输入想要设置第几个数为入口结点:");scanf("%d",&num);printf("请输入链表元素:");L=Create_List_Tail(length,num);printf("入口结点是:%d\n",EntryNode(L)->data);}
阅读全文
0 0
- 剑指offer--面试题23:链表中环的入口节点
- 【剑指offer】面试题23:链表中环的入口节点
- 《剑指Offer》面试题56:链表中环的入口节点
- 剑指Offer 面试题23:链表中环的入口节点 Java代码实现
- 剑指Offer面试题56:链表中环的入口节点 Java实现
- 剑指offer面试题56 链表中环的入口节点(java实现)
- 面试题56:链表中环的入口节点
- 【剑指Offer学习】【面试题56:链表中环的入口结点】
- 剑指offer-面试题56:链表中环的入口结点
- 剑指offer--面试题56:链表中环的入口结点
- 剑指offer-面试题56-链表中环的入口结点
- 剑指offer 面试题56 链表中环的入口结点
- 【剑指Offer】面试题56:链表中环的入口结点
- [剑指offer]面试题56:链表中环的入口结点
- 剑指Offer:链表中环的入口节点
- 剑指offer-链表中环的入口节点-php
- 剑指offer----链表中环的入口节点
- 7.剑指offer-链表中环的入口节点
- 6大设计原则之开闭原则。
- 装饰设计模式和代理设计模式的区别
- hdu2844 Coins
- 浙工大姗姗杯round2 CodeForces 103BCthulhu
- Swift 无操作时自动登出
- 剑指offer--面试题23:链表中环的入口节点
- 记点东西
- 所有网络流转换通用SDK EasyStream
- 动态规划——Cutting Sticks
- 多态
- android6.0SDK 删除HttpClient的相关类的解决方法
- hdu1114 Piggy-Bank
- Inceptor占位符问题,Numbers of PlaceHolder doesnot match...
- 交叉熵代价函数(损失函数)及其求导推导