19. 删除链表的倒数第N个节点

技术19. 删除链表的倒数第N个节点 19. 删除链表的倒数第N个节点两次遍历
class Solution {public ListNode removeNthFromEnd(ListNode hea

19.删除链表的倒数第普通个节点

两次遍历

解决方案类{

公共列表节点removentFromend(列表节点头,int n){ 0

/**

* 两次遍历

* 先得到链表的长度,再正向遍历到长度n的位置,也就是待删除节点的前一个节点

*/

ListNode DummyHead=new ListNode(0,head);

ListNode cur=dummyHead.next

(同Internationalorganizations)国际组织长度=0;

while (cur!=null){ 0

长度;

cur=cur.next

}

ListNode prev=dummyHead

for(int I=0;我长度-n;I){ 0

prev=prev.next

}

prev。next=prev。下一个。接下来;

返回dummyHead .下一个

}

}

/**

* 时间复杂度O(n)

* 空间复杂度O(1)

*/

双指针

解决方案类{

公共列表节点removentFromend(列表节点头,int n){ 0

/**

* 一次遍历(双指针)

*对先右移,当两个指针的区间长度为n时,再一起移动,直到right==null,此时左边的指向为待删除节点

*/

ListNode DummyHead=new ListNode(0,head);

ListNode left=dummyHead

ListNode right=dummyHead.next

for(int I=0;I n;I){ 0

右=右。下一个

}

而(对!=null){ 0

左=左。下一个

右=右。下一个

}

向左。下一个=向左。下一个。接下来;

返回dummyHead .下一个

}

}

/**

* 时间复杂度O(n)

* 空间复杂度O(1)

*/

https://leet代码-cn。com/problems/remove-n-node-from-end-list/

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/153035.html

(0)

相关推荐

  • javascript怎么删除session

    技术javascript怎么删除session这篇文章主要讲解了“javascript怎么删除session”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascri

    攻略 2021年11月10日
  • 一寸光阴一寸金英文,关于时间的谚语用英语怎么写怎么说

    技术一寸光阴一寸金英文,关于时间的谚语用英语怎么写怎么说(一)时间是金,其值无价 Time is money. (时间就是金钱或一寸光阴一寸金) Time flies. (光阴似箭,日月如梭) Time has wing

    生活 2021年10月26日
  • 如何解析sqlmap注入参数

    技术如何解析sqlmap注入参数这篇文章将为大家详细讲解有关如何解析sqlmap注入参数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、指定数据库类型 --dbmsht

    攻略 2021年12月9日
  • [bzoj2303][Apio2011]方格染色

    技术[bzoj2303][Apio2011]方格染色 [bzoj2303][Apio2011]方格染色Sam和他的妹妹Sara有一个包含n×m个方格的表格。她们想要将其的每个方格都染成红色或蓝色。
    出于

    礼包 2021年11月25日
  • immutable模式详解(immutable解决哪些问题)

    技术Immutable集合的示例分析这篇文章主要为大家展示了“Immutable集合的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Immutable集合的示例分析”

    攻略 2021年12月16日
  • NHibernate是什么

    技术NHibernate是什么本篇内容介绍了“NHibernate是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!N

    攻略 2021年12月4日