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

西安手机网站开发企业网站制作流程

西安手机网站开发,企业网站制作流程,福田蒙派克优缺点,专做五金批发的网站题目 删除链表的倒数第 N 个结点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5] 示例 2: 输入:head [1], n 1 输出&…

题目

  1. 删除链表的倒数第 N 个结点

给你一个链表,删除链表的倒数第 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]

来源:力扣热题100 19. 删除链表的倒数第 N 个结点


思路(注意事项)

三个指针。
pre:删除节点的前置指针
p:删除节点
q :距离指针

  • 但也可以简化为两个指针,另外需要在输入的链表上加上头节点。 (详见ds简化版)

纯代码

class Solution {
public:ListNode* removeNthFromEnd(ListNode* head, int n) {int sum = 0;ListNode *t = head;while (t != nullptr) sum ++, t = t ->next;if (n == sum) return head -> next;if (head == nullptr || head -> next == nullptr) return nullptr;ListNode *pre = head, *p = pre -> next, *q = p;while (n --) q = q -> next;while (q != nullptr){q = q -> next;p = p -> next;pre = pre -> next;}pre -> next = p -> next;return head;}
};

题解(加注释)

class Solution {
public:ListNode* removeNthFromEnd(ListNode* head, int n) {// 计算链表的长度int length = 0;ListNode* t = head;while (t != nullptr) {length++;t = t->next;}// 如果删除的是头节点,直接返回头节点的下一个节点if (n == length) {return head->next;}// 如果链表为空或只有一个节点,返回空链表if (head == nullptr || head->next == nullptr) {return nullptr;}// 初始化指针ListNode* pre = head; // 指向要删除节点的前一个节点ListNode* p = pre->next; // 指向要删除的节点ListNode* q = p; // 用于遍历的指针// 将 q 移动到第 n 个节点while (n--) {q = q->next;}// 移动 pre、p 和 q,直到 q 到达链表末尾while (q != nullptr) {q = q->next;p = p->next;pre = pre->next;}// 删除节点pre->next = p->next;return head;}
};

(详见ds简化版)

题解(ds简化)

class Solution {
public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* L = new ListNode(0); // 创建虚拟头节点L->next = head;ListNode* fast = L;ListNode* slow = L;// 快指针先移动 n 步for (int i = 0; i <= n; i++) fast = fast->next;// 同时移动快慢指针,直到快指针到达链表末尾while (fast != nullptr) {fast = fast->next;slow = slow->next;}// 删除节点slow->next = slow->next->next;return L->next; // 返回结果链表的头节点}
};
http://www.dtcms.com/wzjs/77019.html

相关文章:

  • 加强酒店网站建设的建议今日新闻头条新闻摘抄
  • 如何自己建设网站seo优化常识
  • 网站打模块市场调研报告范文3000字
  • 商城网站建设设计介绍seo教程培训
  • 做网站用什么软件最好世界十大网站排名
  • 网站建设 广州佛山网站建设工作
  • 网站如何做excel预览网络营销公司有哪些
  • 卖渔具的亲戚做网站找关键词
  • 平台网站建设设计东莞市网络营销公司
  • 河南自己怎么做网站长沙百度网站推广优化
  • 建设网站需要公司吗专业seo网络推广
  • 深圳做网站优化的公司疫情最新消息今天公布
  • 北京网站建设维护女装关键词排名
  • 厦门网站建站上海的重大新闻
  • 搜索引擎优化网站海外营销方案
  • 网页搜索一个网站全包ip子域名大全
  • 上海网站se0优化推广赚钱的项目
  • 做百度网站需要什么条件文件外链
  • 中国英文政务网站建设关键词排名点击软件工具
  • 一起做网店一件代发网优化大师怎么删除学生
  • dw网站建设怎么放在网上狼雨的seo教程
  • 广告设计模板网站商品关键词怎么优化
  • 杭州网站建设公司ip营销的概念
  • 网站seo优化怎么做什么是营销
  • 黄岛王台有做网站的吗百度推广代理查询
  • 厦门网站建设哪家便宜广告联盟怎么加入
  • 上海网站建设-网建知识站长工具传媒
  • 网站升级建设费用吗谷歌seo外包公司哪家好
  • 58同城合肥网站建设网站内容编辑
  • saas是不是做网站seo助手