时间:2021-07-01 10:21:17 帮助过:55人阅读
实现一个算法,删除单向链表中间的某个节点,假设你只能访问该节点。 示例: 输入:单向链表 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; } } }