链表高效删除
来源:互联网 发布:淘宝店铺只有pc端装修 编辑:程序博客网 时间:2024/06/04 18:37
题目描述
实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。
给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true
#include "stdafx.h"#include <iostream> #include "string.h"#include <vector>using namespace std;struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) {}};//ListNode *create(int value)//{//ListNode *p=new ListNode(2);//p->val=value;//p->next=NULL;//return p;//}ListNode* connection(ListNode *pNode1,ListNode *pNode2){while(pNode1->next!=NULL){pNode1=pNode1->next;}pNode1->next=pNode2;pNode2->next=NULL;return pNode1;}void print(ListNode* phead){while(phead){cout<<phead->val<<" ";phead=phead->next;}cout<<endl;}class Remove {public: bool removeNode(ListNode* pNode){ // write code here if (pNode->next==NULL) {return false; }else {//ListNode *qNode=pNode->next;pNode->val=pNode->next->val;pNode->next=pNode->next->next;//delete pNode->next;return true;} }};int main(){//ListNode* pNode1=ListNode(1);//ListNode* pNode2=ListNode(2);ListNode pNode1(1);ListNode pNode2(2);ListNode pNode3(3);ListNode pNode4(4);connection(&pNode1,&pNode2);connection(&pNode1,&pNode3);connection(&pNode1,&pNode4);print(&pNode1);Remove pNode;int k;k=pNode.removeNode(&pNode2);print(&pNode1);}
0 0
- 链表高效删除
- 高效的删除操作
- 高效删除大表重复记录的解决方案
- 高效删除vector中的负数
- stl map高效遍历删除的方法
- 最高效的删除重复记录方法
- 00020.Oracle高效删除表记录
- 2013.12.5高效删除重复行 oracle
- 删除vector中元素高效的方法
- stl map高效遍历删除的方法
- stl map高效遍历删除的方法
- 高效的删除数组中的空值
- 线程安全的高效单向链表
- 高效地初始化一个链表
- 高效链表排序-归并算法
- 网状高效排序双向链表
- Oracle删除重复记录oracle 删除重复记录的高效方法 && mysql 删除重复记录方法
- EASY_ZJU_PAT_ADVANCED LEVEL 1050 高效输入含有空格的字符串 高效删除字符串中的字符
- DesignPattern_Java:Abstract Factory Pattern
- 关于windows xp sp2/sp3 中tcpip.sys对于Raw socket的限制
- Java多线程编程-同步方法
- Android xml实现Button背景图片
- 安卓开发笔记三——对于EditText的一些简单属性设定
- 链表高效删除
- Android实战简易教程-第四十四枪(Ripple Effect-为控件增加涟漪效果)
- 无人机后门技术调研与确认
- 设计模式之原型模式---prototype
- 关于子线程更新UI
- Oracle快照原理及实现总结
- 前缀表达式、中缀表达式和后缀表达式
- 【POJ2240】【Arbitrage】【增加源点】【判断是否整个图中存在环】【bell-ford】
- [译]From User Input to Animations Using State Machines