CC150-链表3

实现一个算法删除链表中的某个结点,假定你只能访问这个这结点:

输入:单向链表a->b->c->d->e中的结点c

结果:不返回任何数据,但是该链表变为a->b->d->e

分析:

当结点为空或者是尾结点的时候,该算法实现不了。

定义一个临时的next指针指向要删除结点的后续,n的data移动到next的data

然后将n.next指向next.next

代码:

public static void deleteNode(LinkListNode n){
if(n==null||n.next==null) return;
LinkListNode next = n.next;
n.data = next.data;
n.next = next.next;
}

posted @ 2015-08-19 02:08  haochen_Mark  阅读(132)  评论(0编辑  收藏  举报