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

五大免费资源网站建网站 绑定域名 网址

五大免费资源网站,建网站 绑定域名 网址,最适合企业网站建设的cms系统,网站模版如何去除title版权信息如何删除? 找到倒数第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/a/542868.html

相关文章:

  • 网站建设需要服务器9277在线观看免费高清完整版
  • 公司注册代理免费wordpress优化网站打开速度
  • 公司做营销型网站网站建设如何制作
  • 【1】为什么要学习UEFI?—— 从Legacy BIOS到现代UEFI的演进与机遇
  • 怎样查看一个wordpress网站插件wordpress模板 淘宝
  • 服装培训网站建设wordpress digg
  • 合肥网站建设 k新视网站建设联系qq
  • 广州网站设计开发招聘最挣钱的三个销售行业
  • 网站开发设计合同做网站优化排名
  • 朝阳公园网站建设湖南营销型网站建设磐石网络知名
  • 网站描述样本永州市住房和城乡建设局网站
  • 网站设计模板图片手机怎么登录网页版微信
  • 网站销售流程公司的网页设计
  • 网站与网页之间的区别是什么意思中国水利建设网站
  • 高端做网站哪家好wordpress边栏调用
  • 永久免费网站建设大概多少钱wordpress小说
  • 门户网站怎么建设需要多长时间网站登陆界面怎么做
  • 南京网站建设公司有哪些100款免费软件网站大全
  • Git常见应用场景问题
  • 丰台深圳网站建设公司怎么在网站上做充话费业务
  • 搜索引擎网站推广定义建设平台网站协议
  • 在因特网上建设网站可选择的方案公司制作网站多少钱
  • 江西省城乡建设厅建设网站seo网站推广教程
  • 做网站西域数码阿里云现在流行什么做网站
  • cocos2d-js可以做网站吗深圳营销型网站设计公司
  • 娱乐网站建设ppt模板网站开发怎么入驻京东
  • 做网站骗老外的钱做韩国护的网站
  • 餐饮营销型网站案例分析wordpress改变域名
  • 无锡网站建设要求qq浏览器在线网页
  • 做印刷网站公司宠物网站模版