7.访问单个节点的删除

题目描述

实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。

给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true

思想:前后节点,值复制

代码如下:

import java.util.*;

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Remove {
    public boolean removeNode(ListNode pNode) {
        if(pNode.next==null){
            pNode=null;
            return false;
        }else{
            ListNode qNode=pNode.next;
            pNode.val=qNode.val;
            pNode.next=qNode.next;
            return true;
        }
    }
}

  

时间: 2024-10-16 11:47:49

7.访问单个节点的删除的相关文章

并查集间单个节点的转移(UVa 11987 Almost Union-Find)

从来没有这么艰难地完成一道算法题过!经过8次失败之后总算提交成功了!所以决定写一篇博文,对并查集的相关内容做一些总结. 普通并查集的操作无非是两种,find_set(x)即找到节点x所在的集合的代表节点,或者是union_set(x,y),即将x和y所在的两个集合合并起来.如下图所示,有左右两个并集 通常,我们会选用并查集中父节点为自己的元素作为这个并查集的代表,例如图中的节点a和节点e.那么,我们如何通过集合中的一个节点找到该节点所在集合的代表节点呢?其实很简单,例如上图中的d节点,它首先通过

js 访问,插入,替换,创建,删除节点介绍

访问选定元素节点下的所有子节点的列表,返回的值可以看作是一个数组,他具有length属性.语法:elementNode.childNodes注意:如果选定的节点没有子节点,则该属性返回不包含节点的 NodeList. 注意:1. IE全系列.firefox.chrome.opera.safari兼容问题2. 节点之间的空白符,在firefox.chrome.opera.safari浏览器是文本节点,所以IE是3,其它浏览器是7, 访问子节点的第一和最后项一.firstChild 属性返回'chi

oracle rac 如何正确的删除单个节点的actionlist

1 节点2 使用dbca删除一个节点 2 节点1 alter database disable thread 2; 3 节点1 验证是否已经删除一个节点数据库 [03:49:06 oracle(db)@rac1 ~]$ srvctl config database -d prod Database unique name: prod Database name: prod Oracle home: /u01/app/oracle/product/11.2.0/db Oracle user: or

C语言实现单链表节点的删除(带头结点)

我在之前一篇博客<C语言实现单链表节点的删除(不带头结点)>中具体实现了怎样在一个不带头结点的单链表的删除一个节点,在这一篇博客中我改成了带头结点的单链表.代码演示样例上传至 https://github.com/chenyufeng1991/DeleteLinkedList_HeadNode.删除类型有两种: (1)删除某个位置pos的节点: (2)推断x值是否在链表中,若存在则删除该节点: 核心代码例如以下: //删除某个位置pos的节点 Node *DeletePosNode(Node

二叉查找树中节点的删除

二叉查找树重要性质: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值:  (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值: (3)左.右子树也分别为二叉排序树: 现有,如下一棵二叉查找树. (图1) 现在,若要删除图1中,任意节点,需要考虑如下三种情况: (1)需要删除的节点下并没有其他子节点. (2)需要删除的节点下有一个子节点(左或右). (3)需要删除的节点下有两个子节点(既左右节点都存在). 第一种情况直接删除即可,下面,直接讨论第二种情况. 若我们要删除

访问兄弟节点

访问兄弟节点 1. nextSibling 属性可返回某个节点之后紧跟的节点(处于同一树层级中). 语法: nodeObject.nextSibling 说明:如果无此节点,则该属性返回 null. 2. previousSibling 属性可返回某个节点之前紧跟的节点(处于同一树层级中). 语法: nodeObject.previousSibling 说明:如果无此节点,则该属性返回 null. 注意: 两个属性获取的是节点.Internet Explorer 会忽略节点间生成的空白文本节点(

访问子节点childNodes

访问子节点childNodes 访问选定元素节点下的所有子节点的列表,返回的值可以看作是一个数组,他具有length属性. 语法: elementNode.childNodes 注意: 如果选定的节点没有子节点,则该属性返回不包含节点的 NodeList. 我们来看看下面的代码: 运行结果: IE: UL子节点个数:3 节点类型:1 其它浏览器: UL子节点个数:7 节点类型:3 注意: 1. IE全系列.firefox.chrome.opera.safari兼容问题 2. 节点之间的空白符,在

redis-cluster 单个节点不可用

背景: 公司的音视频 盗版检测业务,使用redis-cluster作为 key-value 数据库, 使用张图片的 特征hash值作key.因为数据量太大,机器有限,集群内没有slaver 问题描述 线上服务报错 (SCARD 4288594168) of pipeline caused error: MOVED 9239 10.xxx.xx.149:6390,这个端口 是redis集群中一个节点. 1 使用redis-trib check 10.xxx.xx.149:6390, 报 无法连接的

C语言实现非循环双链表节点的删除(不带头结点)

不带头结点的非循环双链表在删除节点的时候比价麻烦,因为同时要维护prior和next两个指针.在处理第一个节点和最后一个节点的时候都要分别考虑,同时也需要考虑节点数量为1的情况.删除情况分为下面两类: (1)删除pos位置的节点: (2)判断x是否在链表中,若存在则删除: 代码上传至 https://github.com/chenyufeng1991/DeleteNodeDoubleList  . 核心代码如下: //删除pos位置的节点 Node *deletePosList(Node *pN