华为OJ从单向链表中删除指定值的节点
来源:互联网 发布:独战乾坤进阶数据大全 编辑:程序博客网 时间:2024/06/05 14:40
1 输入链表结点个数
2 输入头结点的值
3 按照格式插入各个结点
4 输入要删除的结点的值
输出删除结点后的序列
#include <iostream> #include <string> #include <vector>#include <algorithm>//#include "Customer.h"using namespace std;struct ListNode{int m_nKey;ListNode *m_pNext;};ListNode *head = NULL;ListNode* findNode(int value){ListNode *p = head;while (p != NULL){if (p->m_nKey == value)return p;p = p->m_pNext;}return NULL;}void insertNode(int cur, int pre){ListNode *p = (ListNode*)malloc(sizeof(ListNode));p->m_nKey = cur;p->m_pNext = NULL;if (head == NULL){ListNode *preNode = (ListNode*)malloc(sizeof(ListNode));preNode->m_nKey = pre;preNode->m_pNext = p;head = preNode;return;}else{ListNode *preNode = findNode(pre);p->m_pNext = preNode->m_pNext;preNode->m_pNext = p;}}void deleteNode(int value){ListNode *pre = NULL;ListNode *cur = head;while (cur!=NULL){if (pre == NULL && cur->m_nKey == value){pre = head;cur = cur->m_pNext;free(pre);pre = NULL;head = cur;continue;}if (cur->m_nKey == value){pre->m_pNext = cur->m_pNext;free(cur);cur = pre->m_pNext;}else{pre = cur;cur = cur->m_pNext;}}}int main(){int countNode;cin >> countNode;head = (ListNode*)malloc(sizeof(ListNode));cin>>head->m_nKey;head->m_pNext = NULL;int cur, pre;for (int i = 0; i < countNode-1; i++){cin >> cur >> pre;insertNode(cur, pre);}int deleteValue;cin >> deleteValue;deleteNode(deleteValue);while (head != NULL){cout << head->m_nKey << endl;head = head->m_pNext;}return 0;}
0 0
- 华为OJ:从单向链表中删除指定值的节点
- 华为oj 从单向链表中删除指定值的节点
- 华为OJ从单向链表中删除指定值的节点
- 华为OJ(从单向链表中删除指定值的节点)
- 【华为OJ】【093-从单向链表中删除指定值的节点】
- 华为OJ——从单向链表中删除指定值的节点
- 华为OJ——从单向链表中删除指定值的节点
- OJ-------从单向链表中删除指定节点
- 从单向链表中删除指定值的节点(OJ 不用看这题)
- 从单向链表中删除指定值的节点
- 从单向链表中删除指定值的节点
- [编程题]从单向链表中删除指定值的节点
- 24.从单向链表中删除指定值的节点
- 华为机试-从单链表中删除指定值的节点
- 删除单向链表的指定节点
- 从单向链表中删除指定值的节点(格式控制真坑,末尾要打印空格,样例输出有错误)
- 华为OJ 向升序单向链表中插入一个节点
- 单向链表(二) 删除指定位置的节点
- kaggle 收不到手机验证码
- sql server 游标
- 面试宝典——Java基础
- java 自动获取广播地址
- Android Studio使用——Android Butterknife Zelezny 插件
- 华为OJ从单向链表中删除指定值的节点
- react-native 启动相机时,闪烁(出现应用前最后一帧)的解决办法
- HDU5012 Dice(广搜BFS)
- jcs开源缓存框架介绍
- 鸟哥的Linux私房菜笔记二
- A和B之间的加密通信与HTTPS通信机制
- C# Winform 跨线程更新UI控件常用方法总结(转)
- QString转换为char*需要注意的问题
- uploadfy详解