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

直接free(p),这样行不通,因为我们不能访问其他结点;

如果我们只能访问该结点,可以尝试将该结点的后继结点的数据复制到当前结点,然后删除后继结点

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

但是这样做有一个问题,如果我们要删除的是尾结点,这个算法就失效了,如果是尾结点,可以考虑将这个结点置为fake吗?
阅读更多
个人分类: java 数据结构
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭