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

建设网站设计制作seo网站编辑优化招聘

建设网站设计制作,seo网站编辑优化招聘,如何用iis部署网站,个人做动漫资源网站如何删除? 找到倒数第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/498110.html

相关文章:

  • 做英文网站賺钱长春网站seo哪家好
  • 网站建设和开发网销平台排名
  • 贵阳做网站的公司网页设计框架
  • 网站svg使用免费拓客软件
  • 平湖网站建设手机网站搜索优化
  • 株洲网站建设优度微信搜一搜seo优化
  • 免备案建网站搜索优化指的是什么
  • 做网站推广引流效果好吗策划是做什么的
  • 龙泉网站建设柳州今日头条新闻
  • 做网站前提需要什么广告推广一个月多少钱
  • 南昌做网站电话深圳关键词优化报价
  • 深圳做网站设计全国疫情实时动态
  • 创意响应式网站建设网站在线优化检测
  • 二手网站怎么做排名优化
  • 莱芜网站设计网络营销理论
  • 南昌高端网站开发百度文库个人登录入口
  • 西安网站设计招聘怎么看app的下载网址
  • 台州网站怎么推广中国营销型网站有哪些
  • 教育中介公司网站建设费用自己怎么给网站做优化排名
  • ai做的网站怎么切图网络销售推广是做什么的具体
  • 广州企业网站目前引流最好的平台
  • 青岛科技网站建设爱站网seo工具包
  • 门户手机版网站汉中seo培训
  • 物业网站建设方案网络优化推广公司哪家好
  • 网站建设php的心得和体会百度关键词搜索热度查询
  • 国内html5视频网站建设正规代运营公司排名
  • 51简历模板网学校seo推广培训班
  • 现在去石家庄会被隔离吗东莞网站推广及优化
  • 网站建设服务 百度常用的网络推广方式有哪些
  • 网站装修的代码怎么做的济宁网站建设