首页 > 其他分享 >(链表)09-删除链表的倒数第N个节点

(链表)09-删除链表的倒数第N个节点

时间:2023-11-19 19:36:03浏览次数:32  
标签:slow ListNode 09 fast next 链表 null 倒数第

 1 import java.util.*;
 2 
 3 /*
 4  * public class ListNode {
 5  *   int val;
 6  *   ListNode next = null;
 7  * }
 8  */
 9 public class Solution {
10     /**
11      * @param head ListNode类 
12      * @param n int整型 
13      * @return ListNode类
14      */
15     public ListNode removeNthFromEnd (ListNode head, int n) {
16         // 增加头节点
17         ListNode root = new ListNode(-1);
18         root.next = head;
19         // 快指针
20         ListNode fast = root;
21         // 慢指针
22         ListNode slow = root;
23         // 慢指针的前置指针
24         ListNode pre = null;
25         // 寻找快指针的起始位置
26         for(int i = 0; i < n; i ++) {
27             if (fast == null) {
28                 // 链表长度小于n
29                 return null;
30             }
31             fast = fast.next;
32         }
33         // 快慢指针一起移动
34         while(fast != null) {
35             pre = slow;
36             slow = slow.next;
37             fast = fast.next;
38         }
39         // 删除节点
40         pre.next = slow.next;
41         // 返回结果
42         return root.next;
43     }
44 }

 

标签:slow,ListNode,09,fast,next,链表,null,倒数第
From: https://www.cnblogs.com/StringBuilder/p/17842436.html

相关文章

  • 09.路由跳转
    路由跳转应用场景场景:假设在新增信息页面,完成新增操作之后需要跳转到展示页面。展示页面是个动态页面,它的逻辑是,如果有参数,则展示相关参数的结果,如果没有参数,则展示所有的信息。解决:使用 url_for() 生成url,再使用 redirect() 方法完成路径的重定向。实现当完成添......
  • 求两个链表差集
    一、题目什么是差集对于集合A={a,b,c,d}和集合B={b,c,w},则A与B的差集为二、我的解答(所求的是L1-L2)list*p1=L1->next;//指向L1链表的指针p1List*p2=L2->next;//指向L2链表的指针p2思想:若p1和p2指向空间的数据域的值相等,则两指针向后移动,如果不等且p1<p2,那么L......
  • 求有序链表交集
    一、题目二、我的解答思想:因为递增有序,所以两个指针依次遍历,这次就不考虑相等的情况了,默认为严格递增。list*intersection(list*L1,list*L2){ if(!L1||!L2)returnNULL; list*p1=L1->next,*p2=L2->next,*p3=L1; while(p1&&p2){ if(p1->value==......
  • 合并有序链表
    一、题目二、代码1.思想:将情况分为三种,大于和小于简单的合并,相等的时候需要额外考虑一些问题哪些问题?1.新表指针如何移动2.两个子表指针如何移动相等的时候,需要考虑新表指针的如何操作,当新表中已经存在,两个子表指针目前所指节点的值,就只需将两个子表中重复的元素略过,......
  • oracle19cPDB数据库连不上,提示ORA-01109: database not open
    今天尝试创建了一个RAC环境的PDB数据库,在本地执行alterpluggabledatabasepdb01open成功了,但是使用上去了plus连接还是连接不上,提示错误如下:C:\Users\Administrator>sqlplussystem/[email protected]:1521/pdb01SQL*Plus:Release19.0.0.0.0-Productionon星期日1......
  • 前端学习笔记202309学习笔记第九十六天-vue3-什么时候defineModel之1
     ......
  • 前端学习笔记202309学习笔记第九十六天-vue3-什么时候defineOptions之2
    ......
  • 前端学习笔记202309学习笔记第九十六天-vue3-什么时候defineOptions之1
     ......
  • CF909 div3
    CF909div3A.GamewithIntegers题意两人博弈,给出一个数字,每人每次可以选择令该数字+1或者-1。如果在10步以内可以令数字为3的倍数,先手胜。否则后手胜。数据范围多组数据,\(1<=T<=100,1<=n<=1000\)题解后手可以恢复现场,所以先手最多只能有效操作1次。若+1或者-1......
  • 两两交换链表中的节点
    现在时间是:  2023年11月18日 星期六   农历十月初六  22:08:每天坚持刷Leetcode,遇到有些突然看到就不能想得很清楚的题目,还是需要进行记录一下!Leetcode热题100(学习计划):两两交换链表中的节点,题目信息如下:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节......