常见链表操作-删除链表倒数第n个节点(JAVA实现)

问题 给出一个单向链表,删除该链表倒数第n个节点,并返回头节点。 例如: 给出链表 1->2->3->4->5,n=2 返回链表 1->2->3->5 解题思路 最容易想到的算法: 先遍历一次链表,记下链表的长度,然后计算倒数第n个节点的下标m,然后再遍历一次链表,移除第m个节点。 这种算法的时间复杂度是O(n^2 )。 有没有时间复杂度更低的算法呢?答案给是有。 优化后的算法: 定义两个指针p和
相关文章
相关标签/搜索