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

喀什做网站wordpress不显示某个栏目

喀什做网站,wordpress不显示某个栏目,北京织梦网站建设,网站管理后台密码忘记了目录 题目 解法一 双指针算法 核心思想 执行流程 具体例子 代码 解法二 两次遍历法 核心思想 执行流程 具体例子 代码 题目 19. 删除链表的倒数第 N 个结点 - 力扣(LeetCode) 解法一 双指针算法 核心思想 利用双指针间隔固定距离(n1)&a…

目录

题目

解法一

双指针算法

核心思想

执行流程

具体例子

代码

解法二

两次遍历法

核心思想

执行流程

具体例子

代码


题目

19. 删除链表的倒数第 N 个结点 - 力扣(LeetCode)

解法一

双指针算法

核心思想

利用双指针间隔固定距离(n+1),当快指针到达链表末尾时,慢指针恰好位于倒数第n个节点的前一位置。

执行流程

  1. 创建哑节点dummy,指向链表头部
  2. 初始化快指针fast和慢指针slow,都指向dummy
  3. fast先前进n+1步
  4. fast和slow同时前进,直到fast到达NULL
  5. slow此时指向待删除节点的前一节点,执行删除操作
  6. 返回dummy->next作为新的头节点

具体例子

对于链表1→2→3→4→5,删除倒数第2个节点(n=2):

  1. 创建dummy→1→2→3→4→5
  2. fast和slow初始都指向dummy
  3. fast前进3步(n+1):fast指向3
  4. fast和slow同时前进:
  5. 当fast到达5后的NULL
  6. slow指向3
  7. 删除slow->next(即4):3→5
  8. 返回dummy->next:1→2→3→5

代码

class Solution {
public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* dummy = new ListNode(0);dummy->next = head;ListNode* fast = dummy;ListNode* slow = dummy;for(int i = 0; i<n+1; i++){if(!fast){return head;}fast = fast->next;}while(fast){fast = fast->next;slow = slow->next;}if(slow->next){ListNode* toDelete = slow->next;slow->next = slow->next->next;delete toDelete;}ListNode* newhead = dummy->next;delete dummy;return newhead;}
};

解法二

两次遍历法

核心思想

执行流程

  1. 创建哑节点dummy,指向链表头部
  2. 第一次遍历计算链表长度length
  3. 计算待删除节点的正序位置:position = length - n
  4. 第二次遍历,前进position步找到待删除节点的前驱
  5. 删除目标节点
  6. 返回dummy->next作为新的头节点

具体例子

对于链表1→2→3→4→5,删除倒数第2个节点(n=2):

  1. 创建dummy→1→2→3→4→5
  2. 计算链表长度length = 5
  3. 找到正序位置:position = 5 - 2 = 3
  4. 从dummy开始前进3步到达节点3
  5. 删除节点3的下一个节点(4):3→5
  6. 返回dummy->next:1→2→3→5

双指针法效率更高,因为只需一次遍历;两次遍历法思路更直观,易于理解。

代码

ListNode* removeNthFromEnd(ListNode* head, int n) {// 创建哑节点ListNode* dummy = new ListNode(0);dummy->next = head;// 第一次遍历计算链表长度int length = 0;ListNode* first = head;while (first) {length++;first = first->next;}// 计算要删除节点的位置int position = length - n;// 找到待删除节点的前一个节点ListNode* curr = dummy;for (int i = 0; i < position; i++) {curr = curr->next;}// 删除节点并释放内存ListNode* toDelete = curr->next;curr->next = curr->next->next;delete toDelete;// 获取新的头节点head = dummy->next;delete dummy;return head;
}

http://www.dtcms.com/wzjs/561242.html

相关文章:

  • 建设厅网站关于建筑资质合并宁波网络建站模板
  • 黄山公司做网站网站大全app下载
  • 东莞网站优化关键词推广西安网站建设xazxcy
  • 秦皇岛专业做网站苏州seo公司 翼好
  • 网站侧栏软件排行榜怎么做的互联网公司网站源码
  • 如何在服务器上发布网站喀什建设网站
  • 外贸网站优化wordpress模版哪个好
  • 网站开发预算多少PHP网站开发如何建立vip
  • 网站的优化推广方案注册公司后不营业有什么后果
  • 在重庆找做网站的技术人员windows server 2008 wordpress
  • 苏州模板网站建站建设银行培训网站
  • 怎么知道网站是什么语言做的佛山网站建设 奇锐科技
  • 建设银行园湖路支行网站网站备案提示
  • 做图片视频的网站装饰公司名称
  • 室内设计网站大全网站wordpress 自动采集
  • 做网站类网站费用营销型网站如何建设
  • 什么是a站示范高校建设网站
  • 网站怎么设置支付网站建设 目的
  • 网站建设的公司业务网站制作现状解决方案
  • 江苏省建设档案网站无锡网站制作有哪些
  • 阿里建站系统做网站仓库报表系统
  • 芜湖先锋网站两学一做企业网站托管一年多少钱
  • 手机微信一体网站建设成安企业做网站推广
  • 南昌的网站建设公司今天重大新闻头条新闻
  • 做php网站阿里云服务器网站建设公司的市场开发方案
  • 找建筑工作哪个网站好关键词优化需要注意
  • 恩施市建设银行网站做一个交易平台网站的成本
  • 视频解析网站制作wordpress在分类内下一页
  • 洛阳建设网站制作域名怎么做
  • 响应式网站上海有多少家网站功能建设中