LeetCode第十九题-链表节点的删除

Remove Nth Node From End of List

问题简介;给定链表,从链表末尾删除第n个节点并返回其头部

例:

给定链表:1-> 2-> 3-> 4-> 5,n = 2

从末尾删除第二个节点后,链表变为1-> 2-> 3-> 5

解法一:

先遍历一遍链表,得到链表的长度,再将长度减去给定的n得到正序的索引,再遍历一遍链表,在正序的索引处连接下下结点

复杂度分析:

时间复杂度:o(n)取决于链表的长度

空间复杂度:o(1)占有的是固定的内存

解法二:也可以通过两个变量来做,第一次遍历将第一个变量遍历到给定的N处,第二次遍历同时遍历两个变量,当第一个变量遍历到结尾时,第二个遍历就是遍历到倒序n的位置

小白刷题之路,请多指教— — 要么大器晚成,要么石沉大海

原文地址:https://www.cnblogs.com/lalalaczq/p/10763584.html