首页 > 编程语言 >时间击败100%用户的快慢指针删除链表中的倒数第n个节点算法

时间击败100%用户的快慢指针删除链表中的倒数第n个节点算法

时间:2023-02-26 10:33:58浏览次数:40  
标签:slow ListNode val int 100% next 链表 倒数第

//给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

 

///** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */ class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { int i = 1; ListNode fast = head; ListNode slow = head; while(fast.next!=null){ fast = fast.next; if(i>n){ slow = slow.next; } i++; } if(i==n){ return head.next; }else{ slow.next = slow.next.next; return head; } } }

 

//快指针移动到i>n时,慢指针开始移动,最后慢指针指向待删除节点的前一个节点

标签:slow,ListNode,val,int,100%,next,链表,倒数第
From: https://www.cnblogs.com/zzzzzzx/p/17156220.html

相关文章

  • 解决atl100.dll文件丢失问题
    ​其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或者......
  • Windows中缺少atl100.dll的解决方法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或者损......
  • 单链表的翻转
    单链表的翻转//链表定义structSingleLinkedList{intvalue;structSingleLinkedList*next;};//打印链表中的数据voidprintAllNodes(structSingleLinkedList......
  • 嵌入式5M570ZF256C5N, 5M570ZM100I5N(CPLD)5M570ZT100C5N设计用于低功耗应用
    MAXV设备系列的特点:低成本、低功耗、非易失性CPLD架构即时启动(0.5ms或更短)配置时间待机电流低至25µA,快速下电/复位操作快速传播延迟和时钟到输出时间内部振荡器模拟RS......
  • 链表链表相交
    leetcode:链表相交Method判断链表相交否,先看两个链表的长度,使得长链表移动长度之差绝对值的长度,移动后的两个新链表长度一样,在判断两个节点是否地址相同代码/***Def......
  • PAT Basic 1007. 素数对猜想
    PATBasic1007.素数对猜想1.题目描述:让我们定义\(d_n\)为:\(d_n=p_{n+1}−p_n\),其中\(p_i\)是第\(i\)个素数。显然有\(d_1=1\),且对于\(n>1\)有\(d_n\)是偶数。“素数对......
  • PAT Basic 1006. 换个格式输出整数
    PATBasic1006.换个格式输出整数1.题目描述:让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超......
  • 链表:删除倒数第N个节点
    思路这道题如果是暴力,其实可以先反转,在删除,在反转,麻烦Method双指针:思路:建立一个头节点node,然后fast和slow指针都指向node,然后fast先跑n+1距离,fast先走,就会与slow......
  • PAT Basic 1005. 继续(3n+1)猜想
    PATBasic1005.继续(3n+1)猜想1.题目描述:卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算......
  • 【C语言经典算法100道实战题】学习资料大全
    ​【C语言经典算法100道实战题】适合具备C语言基础语法的同学学习,提高编写程序的逻辑思维能力和算法设计能力专门精心设计。100个经典的算法供大家练习及配套对应的录播视......