剑指offer 13. 在O(1)时间删除链表节点
来源:互联网 发布:mysql配置环境变量 编辑:程序博客网 时间:2024/05/29 04:00
class ListNode {int data;ListNode next;}// 题目:给一个链表和其中一个结点,要在O(1)的时间复杂度删除这个结点// 解法:将这个结点后面结点的数据拷贝到这个结点,删除之后的一个结点public class Main {public static void main(String[] args) {ListNode n1 = new ListNode();ListNode n2 = new ListNode();ListNode n3 = new ListNode();ListNode n4 = new ListNode();n1.data = 1;n2.data = 2;n3.data = 3;n4.data = 4;n1.next = n2;n2.next = n3;n3.next = n4;deleteNode(n1,n1);while(n1!=null){System.out.print(n1.data+" ");n1 = n1.next;}}public static void deleteNode(ListNode head, ListNode node) {if(node == null || head == null){//若链表或要删除的结点为空,则直接返回return;}if(node.next == null){//如果要删除的结点是最后一个结点if(head == node){//判断是否只有这一个结点return;}else{//如果有许多结点就直接删除最后一个结点while(head.next != node){head = head.next;}head.next = null;return;}}else{//如果不是最后一个结点就将删除节点后面结点的数据复制到这个结点并删除后面的结点node.data = node.next.data;node.next = node.next.next;}}}
0 0
- 剑指offer 13. 在O(1)时间删除链表节点
- 剑指offer-面试题13.在O(1)时间删除链表节点
- 剑指Offer面试题13(java版):在O(1)时间删除链表节点
- 剑指offer(14):在O(1)时间删除链表节点
- 剑指Offer面试题13(java版):在O(1)时间删除链表节点
- 剑指Offer算法实现之十三:在O(1)时间删除链表节点
- 剑指offer 面试题12 在O(1)时间删除链表节点
- 剑指Offer :面试题13 在O(1)时间删除链表节点
- 剑指offer 面试题13—在O(1)时间删除链表节点
- 剑指offer之在O(1)时间删除链表节点
- 剑指offer面试题13-在O(1)时间删除链表的节点
- LintCode-剑指Offer-(372)在O(1)时间复杂度删除链表节点
- 【剑指offer系列】 在O(1)时间删除链表节点___13
- 剑指offer之面试题13:在O(1)时间删除链表节点
- 剑指offer系列-T13在O(1)时间删除链表节点
- 剑指offer--面试题13:在O(1)时间删除链表节点
- 剑指offer-面试题13-在O(1)时间删除链表节点
- 剑指offer面试题13 在O(1)时间删除链表节点
- Jfinal实现文件上传的例子
- 单片机通信之接收一个完整数据包
- JavaScript程序设计_读书笔记1
- linux系统node.js+express安装
- 技术-Java正则表达式语法与简单实例
- 剑指offer 13. 在O(1)时间删除链表节点
- hadoop的关键进程
- 欢迎使用CSDN-markdown编辑器
- 反射简介
- mysql,命令导入\导出表结构或数据
- spring bean装配 注册动态工厂和静态工厂
- 【加密算法】:教你如何装逼的发朋友圈
- Zookeeper系列(三十二)Zookeeper场景应用之分布式队列
- 手机上传图片横向显示,根据需要进行旋转。