链表之删除单链表倒数第K个节点
【摘要】 删除单链表倒数第K个节点
题目:
删除单链表中倒数第K个节点,
思路:
给我们一个单链表,我们需要删除倒数第K个节点,比如链表每个节点值是1、2、3、4、5、6
K值是2,链表的总长度是6,要得倒数第二个数的值,前面就有6-2=4个的值...
删除单链表倒数第K个节点
题目:
删除单链表中倒数第K个节点,
思路:
给我们一个单链表,我们需要删除倒数第K个节点,比如链表每个节点值是1、2、3、4、5、6
K值是2,链表的总长度是6,要得倒数第二个数的值,前面就有6-2=4个的值,如果头结点往下移,移到第4个
结点的话,就是我们需要删除的结点,所以这个地方最关的是我们需要得到4,然后4又等于6-2,而6又是我们
链表的长度,我们只需要把链表遍历一遍,把k--,也就是得到了(k-链表的长度)这个数也就是-4,如果是其它
例子,这个(k-链表的长度)==0,说明倒数第K就是第一个节点(注意不是头结点),如果这个(k-链表的长度)
是负数,我们只需要,又从头结点开始往下移,每次K++,当K等于0的时候,我们就删除那个节点,也就是
cur.next=cur.next.next;
K值是2,链表的总长度是6,要得倒数第二个数的值,前面就有6-2=4个的值,如果头结点往下移,移到第4个
结点的话,就是我们需要删除的结点,所以这个地方最关的是我们需要得到4,然后4又等于6-2,而6又是我们
链表的长度,我们只需要把链表遍历一遍,把k--,也就是得到了(k-链表的长度)这个数也就是-4,如果是其它
例子,这个(k-链表的长度)==0,说明倒数第K就是第一个节点(注意不是头结点),如果这个(k-链表的长度)
是负数,我们只需要,又从头结点开始往下移,每次K++,当K等于0的时候,我们就删除那个节点,也就是
cur.next=cur.next.next;
代码实现:
package com.chenyu.zuo.linkedList;
/**题目:删除单链表中倒数第K个节点,
* @author Think
*
*/
public class RemoveLastNodeSingleLinked {
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/50280099
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)