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

成都网站设计公司官网seo网站优化工具

成都网站设计公司官网,seo网站优化工具,榆林市横山县建设局官方网站,建网站 做淘宝客如何删除? 找到倒数第n个节点的 前置(倒数n1)节点 和 后置(倒数n-1)节点让目标节点的前置节点 指向 目标节点的后置节点但是头节点没有前置节点怎么办?加一个空节点指向head就可以了 暴力遍历 为什么使用…

如何删除?

  1. 找到倒数第n个节点的 前置(倒数n+1)节点后置(倒数n-1)节点
  2. 让目标节点的前置节点 指向 目标节点的后置节点
  3. 但是头节点没有前置节点怎么办?加一个空节点指向head就可以了

暴力遍历

  1. 为什么使用hair?因为被删除的可能是head节点呀
  2. 获取链表长度length
  3. 找到目标节点的前置节点,即第length-n个节点
  4. 前置节点指向后置节点
/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* hair = new ListNode(-1,head);ListNode* tmp = head;// 获取链表长度int length = 0;while(tmp){length++;tmp = tmp->next;}// 找到第length-n个节点tmp = hair;for(int i=0;i<length-n;i++){tmp = tmp->next;}tmp->next = tmp->next->next;return hair->next;}
};

  1. 入栈,从空节点开始(不然删除头节点,出栈时找不到头节点的前置节点)
  2. 出栈n+1个节点,最后一个出栈的就是目标节点的前置节点
/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* hair = new ListNode(-1,head);ListNode* tmp = hair;stack<ListNode*> mystack;while(tmp)// 入栈{mystack.push(tmp);tmp = tmp->next;}for(int i=0;i<=n;i++) // 出栈{tmp = mystack.top();mystack.pop();}tmp->next = tmp->next->next;return hair->next;}
};

双指针

  1. 建立一个空节点,指向头节点,可会快速返回头节点
  2. 指针1赋值为头节点,指针2赋值为hair节点 (为了能够停在前置节点)
  3. 指针1先走n步
  4. 指针1和指针2同时移动,直到指针1为空,即到链表尾部
  5. 此时指针2停留的位置就是要删除节点的前置节点
/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* hair = new ListNode(-1,head); // 空节点指向头节点ListNode* first = head; // 指针1ListNode* second = hair; // 指针2 for(int i=0;i<n;i++) // 指针1先行移动n次{first = first->next;}while(first) // 指针1和指针2同时移动{second = second->next;first = first->next;}// 第n个节点的前置节点指向第n个节点的后置节点second->next = second->next->next;return hair->next;}
};
http://www.dtcms.com/wzjs/2285.html

相关文章:

  • 天津企业网站建设seo顾问服务 品达优化
  • 为什么建设网银网站打不开做seo必须有网站吗
  • 无锡百度网站排名西安seo王
  • 专业的营销网站免费企业网站建设流程
  • 东莞市做阀门的网站百度投放平台
  • 做影视网站被起诉上海谷歌seo推广公司
  • wordpress get avatar东莞优化seo
  • 校史馆展馆展厅设计百度seo推广优化
  • 溧阳做网站阿亮seo技术顾问
  • 资源下载类网站源码小程序开发系统
  • 后台管理网站模板下载cms快速建站
  • 做宴会网站北京做的好的seo公司
  • 做网站会犯法吗免费制作网站
  • wordpress百度插件成都网站排名生客seo怎么样
  • 做电商网站前端的技术选型是网站的宣传与推广
  • php网站开发视频教程下载百度关键词挖掘查排名工具
  • HTML5怎么做自适应网站全国疫情高峰感染高峰
  • 做网站 前端营销策划的十个步骤
  • 模块网站弊端线上营销活动有哪些
  • 甜水园网站建设seo入门基础知识
  • 做网站如何接单链接交换平台
  • 网站建设常见故障好用搜索引擎排名
  • 便宜做网站8818黄页网
  • 网站建设实验代码能让网络非常流畅的软件
  • wordpress做社交网站吗全网优化哪家好
  • 四字母域名建设网站可以吗营销方法
  • 兰州市城乡建设局网站通知公告百度竞价返点一般多少
  • 网站设计及建设合同b2b免费发布信息平台
  • 品牌建设与诚信建设相结合品牌搜索引擎服务优化
  • wordpress 短信登录密码sem seo