当前位置: 首页 > news >正文

网站管理后台制作东莞网站排名提升

网站管理后台制作,东莞网站排名提升,图书馆网站建设好处,家装公司需要什么条件一、题目 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1 输出:[]示例 3&a…

一、题目

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

示例 1:

输入:head = [1,2,3,4,5], n = 2
输出:[1,2,3,5]

示例 2:

输入:head = [1], n = 1
输出:[]

示例 3:

输入:head = [1,2], n = 1
输出:[1]

二、思路

           1.容易想到的思路就是先遍历一遍链表统计长度,倒数第n个节点就是正数的第len - n + 1个节点。要删除该节点,我们要找到len - n的节点,即可删除。

            2.经典思路:删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。删掉slow所指向的节点就可以了。为了统一头节点和其他节点的删除操作,使用虚拟头节点。

三、代码

        暴力解:

public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入链表的元素,输入非数字结束:");ListNode head = new ListNode(sc.nextInt());ListNode current = head;while (sc.hasNextInt()) {ListNode node = new ListNode(sc.nextInt());current.next = node;current = current.next;}ListNode listNode = removeNthFromEnd(head, 2);//打印链表current = listNode;while (current != null) {System.out.print(current.val + " ");current = current.next;}}public static ListNode removeNthFromEnd(ListNode head, int n) {//暴力法//先统计链表长度,找到该节点的前一个节点即可,倒数第n个节点是正数的第(len-n+1)个节点int len = 0;ListNode cur = head;while (cur != null) {len++;cur = cur.next;}//如果只有一个元素if(len == 1){return null;}// 如果需要删除头节点if (len - n == 0) {return head.next;}cur = head;//找到第len-n+1个节点的前一个节点for (int i = 1; i < len - n; i++) {cur = cur.next;}cur.next = cur.next.next;return head;}
}

       双指针法:

        

class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {//双指针,固定间距法,为了统一头节点和其他节点的操作,我们需要创建一个虚拟节点ListNode dummyHead = new ListNode();dummyHead.next = head;//快慢指针指向虚拟头节点ListNode fastIndex = dummyHead;ListNode slowIndex = dummyHead;//先让快指针走n+1 步再同时移动,这里为什么是n+1 呢?//因为我们在删除节点的时候要找到前一个节点,//将区间扩大到n+1,那么当快指针为空时,慢指针才能到达被删除节点的前一个节点for(int i = 0; i<= n;i++) {fastIndex = fastIndex.next;}while(fastIndex != null) {  //快慢指针同时移动fastIndex = fastIndex.next;slowIndex = slowIndex.next;}// 检查 slowIndex.next 是否为 null,以避免空指针异常if (slowIndex.next != null) {slowIndex.next = slowIndex.next.next;}return dummyHead.next;}
}

http://www.mnyf.cn/news/14066.html

相关文章:

  • 怎么做短文网站搜狗网页
  • vue做网站好吗竞价排名什么意思
  • 网站建设功能seoapp推广员怎么做
  • 做网站花费2024年阳性什么症状
  • 手机老是下载一些做任务的网站商丘网络推广外包
  • 长治网站制作的网站优化推广什么意思
  • 网站在手机上内页图不显示百度站长平台网站提交
  • 做p2p网站的主页模板商城系统开发
  • 网站开发 ie兼容天津疫情最新消息
  • 万维网域名注册查询seo是什么缩写
  • 做网站什么时候要用到虚拟主机小程序定制开发
  • 怎么用ps做网站框架最新军事动态
  • 农资销售网站建设方案上海网络推广
  • 药企做网站需要哪些手续拉新推广怎么做代理
  • 如何进行网站建设的销售域名注册信息
  • 台州做网站联系方式seo少女
  • 自己电脑做网站服务器广域网访问重大军事新闻最新消息
  • wordpress悬浮电话插件河南seo推广
  • 素米高端品牌网站建设seoyoon
  • 网上商城英文如何提高搜索引擎优化
  • 做网站备案成功之后改怎么操作磁力狗在线搜索
  • 网络游戏代理平台seo优化的主要任务包括
  • 网站建设做网站可以吗网页设计代码案例
  • 购物网站设计开题报告影视剪辑培训机构排名
  • html5 微网站 免费网站百度seo关键词优化
  • wordpress html标签可以seo网站推广报价
  • 公司网站怎么修改怎样把个人介绍放到百度
  • 网站开发用哪个框架百度搜索链接
  • 缔烨建设公司网站站长工具中文
  • 中山专业找人公司seo站长工具 论坛