【面试题】剑指offer 13
来源:互联网 发布:手机限制软件联网 编辑:程序博客网 时间:2024/06/16 20:41
在O(1)时间删除链表节点
listnode.h
#include<iostream>#include<cassert>using namespace std;struct ListNode{int _value;ListNode* pNext;};class List{public:List():pHead(NULL){}~List(){delete pHead;pHead=NULL;}void deleteNode(ListNode* todelete){assert(todelete);if (todelete->pNext!=NULL){ListNode* next=todelete->pNext;todelete->_value=next->_value;todelete->pNext=next->pNext;delete next;next=NULL;}else if(pHead==todelete){delete todelete;todelete=NULL;pHead=NULL;}else{ListNode* node=pHead;while (node->pNext!=todelete){node=node->pNext;}node->pNext=NULL;delete todelete;todelete=NULL;}}void addNode(const int value){ListNode* newnode=new ListNode(); if (pHead==NULL) {newnode->_value=value;newnode->pNext=NULL;pHead=newnode;return; }ListNode* node=pHead;while(node->pNext!=NULL){node=node->pNext;}newnode->_value=value;newnode->pNext=NULL;node->pNext=newnode;}void printNodeValue(){ListNode* node=pHead;while (node){cout<<node->_value<<" ";node=node->pNext;}cout<<endl;}ListNode* Find(const int x){ListNode* node=new ListNode();node=pHead;while (node){if(node->_value==x)break;node=node->pNext;}return node;}ListNode* getHead(){return pHead;}private:ListNode* pHead;};void test(){List l;l.addNode(1);l.addNode(2);l.addNode(3);l.addNode(4);l.addNode(5);l.addNode(6);l.addNode(7);l.addNode(8);l.addNode(9);l.printNodeValue();l.deleteNode(l.Find(5));l.printNodeValue();}test.c
#include "ListNode.h"int main(){test();system("pause");return 0;}
0 0
- 剑指offer面试题13
- 【面试题】剑指offer 13
- 剑指offer 面试题
- 剑指offer面试题
- 剑指Offer(面试题11-13)
- 剑指offer面试题总结
- 剑指offer面试题06
- 剑指offer面试题 04
- 剑指offer 面试题07
- 剑指offer面试题08
- 剑指offer面试题42
- 剑指offer面试题1
- 剑指offer面试题3
- 剑指offer面试题4
- 剑指offer面试题5
- 剑指offer面试题6
- 剑指offer面试题7
- 剑指offer面试题8
- wince程序 中使用Listview显示图标问题 (C#)
- Android 三大动画
- 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
- iOS中的相等== isEqual isEqualToString
- Dalvik字节码
- 【面试题】剑指offer 13
- JavaScript对象宽度高度属性整理
- sdutacm-超排序
- 蓝桥杯算法训练——lift and throw
- [生存志] 第134节 兵锋十万踏匈奴
- ios指纹识别
- super的使用
- ScrollView中嵌套recycleView 出现的不显示,显示不全,终极解决方案
- ORA-01102 cannot mount database in EXCLUSIVE mode