实现一个算法,删除单向链表中间的某个节点,假设你只能访问该节点。 示例: 输入:单向链表 a-b-c-d-e中的节点c 结果:不返回任何数据,但该链表变为:a-b-d-e package test;public class RemoveNode {//因为只能访问当前节点,没有办法得到之前节点的引用
实现一个算法,删除单向链表中间的某个节点,假设你只能访问该节点。
示例:
输入:单向链表 a->b->c->d->e中的节点c
结果:不返回任何数据,但该链表变为:a->b->d->e
package test;
public class RemoveNode {
//因为只能访问当前节点,没有办法得到之前节点的引用,所以只能采用交换值得方法,
//把之后节点的值赋给当前节点,然后删除之后的节点
public void removeNode(Node node){
if(node == null)
return;
if(node.next != null){
node.val = node.next.val;
node.next = node.next.next;
}else{
node = null;
}
}
}
Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务