链表面试题(一)---删除一个无头单链表的非尾结点
2017-05-16 22:45
435 查看
一、结点的定义
二、函数实现
1.删除一个无头单链表的非尾结点,只知道这个结点的位置
//思路:将该节点下一个结点的值赋给这个结点,然后把下一个结点删除;
typedef int DataType; typedef struct ListNode//定义结点 { DataType data; struct ListNode* next; }ListNode,*PListNode; typedef struct PList//定义一个成员是指向结点的指针的结构体 { PListNode PHead; }PList,*PList;
二、函数实现
1.删除一个无头单链表的非尾结点,只知道这个结点的位置
//思路:将该节点下一个结点的值赋给这个结点,然后把下一个结点删除;
//1.删除链表非尾结点 void EraseNotTail(PListNode pos) { PListNode del=NULL; assert(pos->next!=NULL);//判断 del=pos->next;//记录下一个结点 pos->data=del->data;//将下一个结点的值赋给pos pos->next=del->next; free(del); }
相关文章推荐
- 【链表面试题】删除无头单链表的非尾节点,插入一个元素到无头链表指定位置
- 【链表面试题】删除无头单链表的非尾节点,插入一个元素到无头链表指定位置
- <笔试><面试>单链表相关(1)从尾到头打印链表、删除一个无头链表的非尾结点
- 单链表操作之删除链表的一个非尾结点
- C语言:【单链表】删除一个无头单链表的非尾节点
- 单链表---删除无头单链表的非尾结点(不遍历链表)
- 链表--删除一个无头单链表的非尾节点
- 1.删除一个无头单链表的非尾节点 2.从尾到头打印单链表
- day05删除一个无头单链表的非尾节点 +从尾到头打印单链表+复杂链表的复制
- 【链表】删除一个无头单链表的非尾节点 以及从尾到头打印单链表
- 面试题 单向链表(无头结点)一个指针指向其中的一个结点,如何删除这个结点?
- <笔试><面试>单链表相关(1)从尾到头打印链表、删除一个无头链表的非尾结点
- C语言:【单链表】删除一个无头单链表的非尾节点
- 删除一个无头单链表的非尾节点【每日一题】
- 删除一个无头单链表的非尾节点
- 每日一刷——删除无头链表非尾结点&倒序打印链表
- 设一个没有头结点指针的单链表。一个指针指向此单链表中间的一个结点(不是第一个,也不是最后一个结点),将该结点从单链表中删除,要求时间复杂度O(1)。
- 删除一个无头单链表的非尾节点
- 删除一个无头单链表的非尾节点
- 删除不带头结点的单链表的非尾结点&&逆序打印单链表