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

网站开发报价单明细企业网站建设与维护

网站开发报价单明细,企业网站建设与维护,双鸭山网站开发,php小型网站开发前言 #x1f4da;作者简介#xff1a;爱编程的小马#xff0c;正在学习C/C#xff0c;Linux及MySQL。 #x1f4da;本文收录与初阶数据结构系列#xff0c;本专栏主要是针对时间、空间复杂度#xff0c;顺序表和链表、栈和队列、二叉树以及各类排序算法#xff0c;持…  前言  作者简介爱编程的小马正在学习C/CLinux及MySQL。 本文收录与初阶数据结构系列本专栏主要是针对时间、空间复杂度顺序表和链表、栈和队列、二叉树以及各类排序算法持续更新 相关专栏C及Linux正在发展敬请期待 目录 前言  1. 单链表基础OJ题讲解 1.1 第一题 1.2 第二题   1.3 第三题 1.4 第四题 1.5 第五题 总结 1. 单链表基础OJ题讲解 首先经过上一篇博客的学习相信同学们已经对顺序表的基础OJ题有了一定的了解那么本文继续带着大家一起来刷力扣的单链表基础题。 1.1 第一题 第一题题目链接移除链表元素 给你一个链表的头节点 head 和一个整数 val 请你删除链表中所有满足 Node.val val 的节点并返回 新的头节点 。  题目分析我画个图给大家看一下就是如何来分析。 就是和val相同的就移除不相同的就保留返回新的头结点。 思路大家最容易想到的 拷贝等于val我就不拷贝不等于val的就拷贝到新链表最后是不是返回新链表就可以那么这个地方我用newhead和list来管理新链表。我画个图给大家看一下 代码实现如下 struct ListNode* removeElements(struct ListNode* head, int val) {struct ListNode* newhead NULL;struct ListNode* list NULL;while(head){if(head-val val){head head -next;}else{if(newhead NULL){newhead head;list head;head head-next;list-next NULL;}else{list-next head;head head-next;list list-next;list-next NULL;}}}return newhead; } 1.2 第二题   第二题题目链接翻转链表  给你单链表的头节点 head 请你反转链表并返回反转后的链表。 题目分析  思路 也是可以拷贝如何拷贝呢是不是还是建立一个新的一个链表newhead然后尾插head链表中的节点是不是就可以了? 代码实现 struct ListNode* reverseList(struct ListNode* head) {struct ListNode* newhead NULL;struct ListNode* cur head;while(cur){if(newhead NULL){head head-next;newhead cur;newhead -next NULL;cur head;}else{head head-next;cur-next newhead;newhead cur;cur head;}}return newhead; } 1.3 第三题 第三题题目链接链表的中间节点  给你单链表的头结点 head 请你找出并返回链表的中间结点。 如果有两个中间结点则返回第二个中间结点。 题目分析 这道题有个很巧的方法就是用两个指针一个是快指针一个是慢指针快指针一次走两步慢指针一次走一步那么快指针走完是不是慢指针只走了一半直接返回慢指针就可以了。 代码实现 struct ListNode* middleNode(struct ListNode* head) {struct ListNode* fast head;struct ListNode* slow head;while(fast fast-next){fast fast-next-next;slow slow-next;}return slow; } 1.4 第四题 第四题题目链接返回倒数第K个节点  实现一种算法找出单向链表中倒数第 k 个节点。返回该节点的值  就是首先得先找到这个链表的尾部然后head这个指针找到离最后一个tail指针为k的地方返回这个地方的值我建议大家用count这个变量来记录。 代码实现 int kthToLast(struct ListNode* head, int k) {int count 0;struct ListNode* tail head;while(tail){tail tail-next;count;}while(count-k){head head-next;count--;}int m head-val;return m;}1.5 第五题 第五题题目链接合并两个有序链表  将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。  题目分析 这道题是这样子还是建立一个新链表用newhead和cur来管理然后遍历list1和list2谁小谁就放进去如果有一个链表结束了 那就把另一个链表是不是直接拷贝过去就可以。 代码实现 struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {if(list1 NULL)return list2;if(list2 NULL)return list1;struct ListNode* newhead NULL;struct ListNode* cur NULL;while(list1 list2){if(list1-val list2-val){if(newhead NULL){newhead list1;cur list1;list1 list1-next;cur -next NULL;}else{cur - next list1;list1 list1-next;cur cur-next;}}else{if(newhead NULL){newhead list2;cur list2;list2 list2-next;cur -next NULL;}else{cur - next list2;list2 list2-next;cur cur-next;}} }if(list1){cur-next list1;}if(list2){cur-next list2;}return newhead; } 总结 1、大家一定要动手去练习一下这些题都是很基础的单链表的OJ题可以把之前的增删查改再复习一下 2、 大家没有必要往后刷题C语言能解决的问题是有限的等后面学了C再回来看这些题就很简单。 如果这份博客对大家有帮助希望各位给小马一个大大的点赞鼓励一下如果喜欢请收藏一下谢谢大家 制作不易如果大家有什么疑问或给小马的意见欢迎评论区留言
http://www.w-s-a.com/news/838862/

相关文章:

  • 潍坊正规建设网站网站建设设计作业
  • 推荐一下网站谢谢辽宁住房城乡建设部官方网站
  • 网站文件大小英选 网站开发
  • 济南建网站哪家好wordpress编辑器排行
  • 在福州做搬家网站多少钱画册设计网站有哪些
  • 如何让别人浏览我做的网站哪些方法可以建设网站
  • 网站建设与管理网络推广的优点
  • 美食网站的设计与制作做网站的电销话术
  • 中国档案网站建设现状研究陕西建设厅执业资格注册中心网站
  • 网站建设的内容管理怎么用ps切片在dw里做网站
  • 建设婚恋网站用什么搭建涿州网站开发
  • 做知识内容的网站与app哈尔滨哪里有做网站的
  • 青岛企业网站建站模板百度网站建设推广
  • 做360网站中保存的图片存在哪里个人建立网站要多少钱
  • 网站安装部署无锡做网站的公司
  • 怎么将网站做成小程序安装wordpress到服务器
  • 企业网站建设的四大因素沈阳网站建设招标公司
  • wordpress仿站开发公司网站策划宣传
  • 金乡县网站开发网站开发三个流程
  • qq空间网站是多少纺织网站建设方案
  • 建设微网站项目报告网站优化难吗
  • 做网站需要自己上传产品吗企业网站系统设计
  • wordpress个人中心济南网站建设和优化
  • 网站pc端网址和手机端网址建设牡丹江 网站建设
  • 苏州新区城乡建设网站人才招聘网站开发
  • 一般网站是怎么做的威远移动网站建设
  • 赣州网站开发公司怎么才能设计好一个网站
  • 个人网站建设分几个步走培训网站开发哪个好
  • 智能网站价格河北城乡建设网站
  • 做动画在线观看网站网上花店 网站源代码