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

做网站赔了8万深圳品牌网站制作咨询电话

做网站赔了8万,深圳品牌网站制作咨询电话,微信上怎么创建公众号,厦门seo哪家强之前我们对C语言进行了一定的学习,有了一些基础之后,我们就可以学习一些比较基础的数据结构算法题了。这部分的知识对于我们编程的深入学习非常有用,对于一些基本的算法,我们学习之后,就可以参加一些编程比赛了&#x…

      之前我们对C语言进行了一定的学习,有了一些基础之后,我们就可以学习一些比较基础的数据结构算法题了。这部分的知识对于我们编程的深入学习非常有用,对于一些基本的算法,我们学习之后,就可以参加一些编程比赛了(蓝桥杯)。

 

 学习前提

  1.至少掌握一门计算机编程语言。

  2.有一定的数学基础和逻辑思考能力。

如好学好数据结构

 1.复习好C语言以及C++的基础知识,尤其是指针这一块的知识,当然使用别的计算机编程语言也可以,你完全可以把本教程提供的代码当作伪代码来学习。

  2.阅读时建议顺序阅读,多思考理解,不要轻易去大量的复制粘贴代码(虽说这也是一个技巧),代码结合图示的学习方法是相当重要的,弄懂原理才是编写代码的基础。

  3.你可以做一些适当的摘抄,虽然有的时候笔记记一次以后不再阅读,但是在写字的时候也是一种加强记忆的过程,笔记的过程就可以加强你的理解。

  希望你不负此行。

                                           好了今天带大家刷几道牛客网上的算法题练练手。

单链表相关经典算法OJ题1:    203. 移除链表元素 - 力扣(LeetCode)icon-default.png?t=N7T8https://leetcode.cn/problems/remove-linked-list-elements/description/

这里给大家提供两个思路:

思路一:遍历原链表,遇见val就删除val节点的操作。

思路二:创建一个新链表,遍历原链表,找不为val的节点,尾插到新链表中。

由于第一个思路,改变指针指向,非常麻烦,我们选用思路二解决问题。

1.首先newnode和newtail都指向头节点

   2. 利用pcur遍历原链表,若节点的值不为val,则尾差到新链表中,newtail往后走一格,如果值为val则不进行尾插。遍历结束应为:

返回newhead即可得到新的链表。

 

typedef struct ListNode ListNode;
struct ListNode* removeElements(struct ListNode* head, int val) {ListNode*newhead,*newtail;newhead=newtail=NULL;ListNode*pcur=head;while(pcur){//判断是否为valif(pcur->val!=val){if(newhead==NULL){newhead=newtail=pcur;}else{newtail->next=pcur;newtail=newtail->next;}}pcur=pcur->next;}if(newtail){newtail->next=NULL;}return newhead;
}

 单链表相关经典算法OJ题2:

876. 链表的中间结点 - 力扣(LeetCode)icon-default.png?t=N7T8https://leetcode.cn/problems/middle-of-the-linked-list/description/

思路一:统计链表的节点个数,通过除2得到中间节点。

思路二:快慢指针,慢指针每次走一步,快指针每次走两步,当快指针走到尾节点时,慢指针刚走到中间节点。

快慢指针是一个比较重要的算法技巧,我们应当熟悉掌握这个算法的技巧。 

 

 

 

typedef struct ListNode ListNode;
struct ListNode* middleNode(struct ListNode* head) {ListNode *slow,*fast;slow=fast=head;while(fast&&fast->next){slow=slow->next;//fast=fast->next->next;//}return slow;
}

 

 

这样就通过了。

单链表相关经典算法OJ题3:

206. 反转链表 - 力扣(LeetCode)icon-default.png?t=N7T8https://leetcode.cn/problems/reverse-linked-list/description/

思路一:创建新链表,遍历原链表的节点将其插入到新的链表中。

思路二:创建三个节点,分别记录前驱节点,当前节点,后继节点,改变原链表指针指向

我们这里采用思路二解题:

 

typedef struct ListNode ListNode;
struct ListNode* reverseList(struct ListNode* head) {if(head==NULL){return head;}//创建三个节点ListNode* n1,*n2,*n3;n1=NULL,n2=head,n3=head->next;//遍历原链表,修改指针的指向ListNode*pcur=head;while(n2){//修改n2的指向n2->next=n1;//修改三个指针的位置n1=n2;n2=n3;if(n3){n3=n3->next;}}return n1;
}

 

好了,今天就分享这些了,感谢大家观看,有问题,随时评论区提问哦。

 

http://www.yayakq.cn/news/906709/

相关文章:

  • 东莞网站设计流程海西网站建设哪家好
  • 南昌网站seo哪家公司好安防行业网站建设方案
  • 网站备案各种问题汇总上海网站建设 app开发
  • 新网站如何做营销网站seo推广多少钱
  • 网站用什么框架做wordpress制作左侧边栏
  • 成都哪家网站建设做得好如何在社交网站上做视频推广
  • 套用别人产品图片做网站wordpress多语言配置文件
  • 做网站小图片分类安徽建设厅网站节能北备案
  • 怎么做弹幕网站网站集约化建设
  • 免费注册自助网站怎么做58同城网站
  • 北京活动网站制作网站优化排名哪家好
  • asp.net网站开发pdf7年级微机课做网站的软件
  • 网站域名备案查询官网wordpress分类翻页404
  • 电子商务他们的代表网站qq音乐怎么做mp3下载网站
  • 常见cms网站源码下载网页设计与制作代码成品
  • 做pc端网站包括哪些做办公用品的招聘网站
  • 企业网站的建设与管理论文网络编程
  • 网站建设做网站费用网页制作素材图片百度云
  • 什么做网站推广360免费建站视频
  • 哈尔滨网站域名备案在线网站软件免费下载安装
  • 幸运飞艇网站建设域名申请好了 怎么做网站
  • 中昌国际建设集团网站登陆网站取消备案
  • 建网站联系专业网站制作咨询
  • 做精酿啤酒购买的网站合肥seo推广排名
  • 网站建设标新立异宁波免费建站seo排名
  • 容桂网站建设wordpress模板开发 2016
  • 网站设计项目策划ppt精品课网站制作
  • 网站开发及上线过程erp系统软件有哪些
  • 推荐几个安全没封的网站2021成都网站建站推广
  • 一流的中小型网站建设oa连接到网站的链接怎么做