面试题:从无头链表中删除已知结点
来源:互联网 发布:Windows 系统 编辑:程序博客网 时间:2024/05/16 06:46
题目:从无头单向链表中删除已知结点(不是头结点也不是最后一个结点)
分析:由于是无头单向链表,故无法根据现有的结点找到他的前一个结点,只能找到他 的下一个结点。采用替换的方式,将该结点的下一个结点的内容赋给他,然后删除他的下一个结点,则可以达到目的。
//***********************************************//题目:在一个没有头结点的单向链表中,删除一个//已知结点(不是头结点,也不是最后一个结点)//***********************************************typedef struct Lnode{ int data; struct Lnode *next;}Lnode;//A->B->C->D......//要删除B,先将C的内容赋给B,再删除C,则达成目的//注意在free(C)后,要将其置为空(NULL),防止野指针int deletenode(Lnode *pcur){ if(NULL == pcur) return -1; if(NULL != pcur->next) { pcur->next = pcur->next->next; pcur->data = pcur->next->data; free(pcur->next); pcur->next = NULL; } return 0;}
- 面试题:从无头链表中删除已知结点
- 面试题:向无头单链表的某一已知结点之前插入结点
- 面试题57:删除链表中重复的结点
- 面试题13:在O(1)时间删除单链表结点
- 剑指offer-面试题57:删除链表中重复的结点
- 剑指offer--面试题57:删除链表中重复的结点
- 剑指offer 面试题57 删除链表中重复的结点
- 剑指offer-面试题57-删除链表中重复的结点
- 剑指offer 面试题57 删除链表中重复的结点
- 剑指offer--面试题18:删除链表的结点
- 面试题57:删除链表中重复的结点
- 【剑指Offer】面试题57:删除链表中重复的结点
- 剑指offer面试题57 删除链表中重复的结点
- 剑指offer面试题[57]-删除链表中重复的结点
- 【剑指Offer】面试题57:删除链表中重复的结点
- 面试题57. 删除链表中重复的结点
- 程序员面试题精选100题(33)-在O(1)时间删除链表结点
- 程序员面试题精选100题(33)-在O(1)时间删除链表结点
- 二叉树的遍历
- 原生Android缩略图填满SD卡的问题
- Jni中C++和Java的参数传递
- 【老牌系统】笔者支招:U盘与内存卡之间的差异
- jolfe的安卓之旅_02Gallery的使用
- 面试题:从无头链表中删除已知结点
- 将java工程转为web工程
- Ubuntu自动挂载NTFS分区
- 查看当前运行的所有任务 【tasklist】
- Problem E Codeforces Round #184 (Div. 2) B. Continued Fractions
- Flex Nunber 四舍五入取值
- AIX6.1.0.0安装oracle10g
- 浅谈C#中的枚举
- firefox centos flash 插件安装