面试题13:在O(1)时间删除链表结点
来源:互联网 发布:官方双色球选号软件 编辑:程序博客网 时间:2024/06/05 19:37
剑指Offer面试题13:在O(1)时间内删除链表结点(js)实现
题目描述:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。
//链表 function LinkList(){ var Node = function(element) { this.element = element; this.next = null; } var head = null, length = 0; //在尾部插入结点 this.append = function(element) { var node = new Node(element); if(head === null) { head = node; }else { var current = head; while(current.next) { current = current.next; } current.next = node; } length ++; } //删除节点 this.deleteNode = function(delete_node) { if(!delete_node) return; //要删除的结点不是尾结点 if(delete_node.next !== null) { var pNext = delete_node.next; delete_node.element = pNext.element; delete_node.next = pNext.next; } //链表只有一个结点,删除头结点 else if(delete_node === head) { head = null; } //删除的是链表的尾结点 else { var current = head; while(current.next.next) { current = current.next; } current.next = null; } length --; } //转化成字符串 this.toString = function(){ var current = head, str = ''; while(current) { str = str + current.element + ' '; current = current.next; } return str; }; } var list = new LinkList(); list.append(15); list.append(10); list.append(8); list.append(6); list.append(3); console.log(list.toString());
阅读全文
0 0
- 面试题13:在O(1)时间删除单链表结点
- 面试题13:在O(1)时间删除链表结点
- [剑指offer][面试题13]在O(1)时间删除链表结点
- 面试题13 在o(1)时间删除链表的给定结点
- 面试题13:在O(1)时间删除链表结点
- 面试题13-在o(1)时间删除链表结点
- 《剑指Offer》面试题13:在O(1)时间删除链表结点
- 【剑指Offer学习】【面试题13 :在O(1)时间删除链表结点】
- 《剑指Offer》学习笔记--面试题13:在O(1)时间删除链表结点
- 剑指offer--面试题13:在O(1)时间删除链表结点--Java实现
- 面试题13:在O(1)的时间删除链表结点
- 面试题13:在O(1)时间删除链表结点
- 剑指offer-面试题13:在O(1)时间删除链表结点
- 剑指offer之面试题13在O(1)时间删除链表结点
- 剑指Offer----面试题13:在O(1)时间删除链表结点
- 剑指Offer:面试题13——在O(1)时间删除链表结点
- 剑指offer面试题13:在O(1)时间删除链表结点
- 剑指offer——面试题13:在O(1)时间删除链表结点
- CAS 在 Tomcat 中实现单点登录
- cf 807C Success Rate
- HDU
- PhP操作数据库(查询数据)
- C++日志调试打印接口
- 面试题13:在O(1)时间删除链表结点
- php隐式转换
- Working out (CodeForces
- 最大公约数与最小公倍数
- HDU
- JDBC连接mysql--学习目录
- html+css基础题
- Deepin Software图像
- RabbitMQ基础概念