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

网站建设专员工作营销型公司网站建设

网站建设专员工作,营销型公司网站建设,山东平台网站建设方案,广州seo推荐Yan-英杰的主页 悟已往之不谏 知来者之可追 目录 ​编辑 ​编辑二、分享:OJ调试技巧 ​编辑三、链表的中间结点 ​编辑四、链表中倒数第k个结点 一、移除链表元素 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2,3,4,…

  Yan-英杰的主页

悟已往之不谏 知来者之可追


目录

​编辑

 ​编辑二、分享:OJ调试技巧

​编辑三、链表的中间结点

 ​编辑四、链表中倒数第k个结点


一、移除链表元素

示例 1:

输入:head = [1,2,6,3,4,5,6], val = 6
输出:[1,2,3,4,5]

 示例 2:

输入:head = [], val = 1
输出:[]

示例 3:

输入:head = [7,7,7,7], val = 7
输出:[]

提示:

  • 列表中的节点数目在范围 [0, 104]
  • 1 <= Node.val <= 50
  • 0 <= val <= 50

方法一:

        代码解析:

struct ListNode* removeElements(struct ListNode* head, int val){struct ListNode* prev = NULL;struct ListNode* cur = head;while(cur){if(cur->val != val){prev = cur;cur = cur->next;}else{if(prev == NULL){head = cur->next;free(cur);cur = head;}else{prev->next = cur->next;free(cur);cur = prev->next;}}}return head;
}

画图解析:

方法二:

        代码解析:

struct ListNode* removeElements(struct ListNode* head, int val){if(head == NULL){return NULL;}struct ListNode* newHead = NULL,*tail = NULL;struct ListNode* cur = head;while(cur){if(cur->val != val){   //尾插if(tail == NULL){newHead = tail = cur;}else{tail->next =cur;tail = tail->next;}cur = cur->next;}else{struct ListNode* next = cur->next;free(cur);cur = next;}}if(tail)tail->next = NULL;return newHead;
}

画图解析:

                

 二、分享:OJ调试技巧

        LeetCode在线调试功能需要付费,我们可以自己在编辑器进行调试,写个模板,每次用到复制过去直接调试即可


int main()
{struct ListNode* n1 = (struct ListNode*)malloc(sizeof(struct ListNode));struct ListNode* n2 = (struct ListNode*)malloc(sizeof(struct ListNode));struct ListNode* n3 = (struct ListNode*)malloc(sizeof(struct ListNode));struct ListNode* n4 = (struct ListNode*)malloc(sizeof(struct ListNode));struct ListNode* n5 = (struct ListNode*)malloc(sizeof(struct ListNode));n1->val = 7;n2->val = 7;n3->val = 7;n4->val = 7;n5->val = 7;n1->next = n2;n2->next = n3;n3->next = n4;n4->next = NULL;removeElements(n1,7);
}

三、链表的中间结点

        示例 1:

         

输入:head = [1,2,3,4,5]
输出:[3,4,5]
解释:链表只有一个中间结点,值为 3 。

示例 2:

输入:head = [1,2,3,4,5,6]
输出:[4,5,6]
解释:该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。

提示:

  • 链表的结点数范围是 [1, 100]
  • 1 <= Node.val <= 100

代码解析:

        此题我们学会了快慢指针


struct ListNode* middleNode(struct ListNode* head){struct ListNode* slow,* fast;slow = fast = head;while(fast && fast->next)//节点为单数或者双数时出现的条件{slow = slow->next;fast = fast->next->next;}return slow;
}

画图解析:

        

 四、链表中倒数第k个结点

         输入一个链表,输出该链表中倒数第k个结点。

        实例:

输入:1,{1,2,3,4,5}
返回值:{5}

        代码解析:

                       此题依旧使用快慢指针

                        

struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) {if(pListHead == NULL){return NULL;}struct ListNode* slow,* fast;slow = fast = pListHead;//fastwhile(k--){if(fast == NULL){return NULL;}fast = fast->next;}while(fast){slow = slow->next;fast = fast->next;}return slow;
}

        画图解析:

                

http://www.mmbaike.com/news/73369.html

相关文章:

  • 汕头网站定制qq群推广链接
  • 网站建设托管公司杭州seo推广排名稳定
  • wordpress全图水印插件seo知名公司
  • 做网站打电话怎么和客户说seo服务外包费用
  • wordpress自动转内链抖音优化排名
  • 上海正规网站制作价格怎么建立网站?
  • 小米路由器3做网站模板免费网站建设
  • 做网站如何将一张图片直接变体网站制作流程
  • 做时彩网站违法吗电商运营多少钱一个月
  • 免费影视app软件推荐广州seo排名外包
  • 男女之间做那种事情视频网站百度搜索引擎的网址
  • 小企业网站建设制作平台温州百度推广公司电话
  • 武汉 酒店 网站制作无锡网站建设
  • 网站建设维护总结百度竞价代运营外包
  • 有专门教做蛋糕的网站怎么申请自己的域名
  • 苏州网页制作与设计广州seo站内优化
  • 政府网站界面设计深圳seo优化外包
  • 做类似美团的网站得多少钱搜索引擎调词平台
  • 音乐网站的音乐怎么做城市更新论坛破圈
  • c 网站开发网络营销的方式都有哪些
  • 网站方案范文总裁班课程培训
  • 学php网站开发多钱百度推广平台登录入口
  • 白银网站运行谷歌优化工具
  • 佛山新网站制作咨询什么是seo站内优化
  • 兰溪市建设局网站广告策划公司
  • 培训网站系统建设方案国内重大新闻10条
  • 微信公众平台 网站开发巩义网站优化公司
  • 在香港做网站需要什么农业推广
  • 彩票网站如何做青岛网络优化费用
  • 高端建网站多少钱搭建网站工具