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

建立网站的教学书籍网站排名必做阶段性seo策略

建立网站的教学书籍,网站排名必做阶段性seo策略,建设银行的英语网站,云南省网站建设文章目录#x1f347;前言#x1f34e;复制带随机指针的链表#x1f351;写在最后#x1f347;前言 本章的链表OJ练习#xff0c;是最后的也是最难的。对于本题#xff0c;我们不仅要学会解题的思路#xff0c;还要能够通过这个思路正确的写出代码#xff0c;也就是思路… 文章目录前言复制带随机指针的链表写在最后前言 本章的链表OJ练习是最后的也是最难的。对于本题我们不仅要学会解题的思路还要能够通过这个思路正确的写出代码也就是思路转化为代码的过程这应该就是最难的地方了吧。 对于OJ练习(5): - 传送门 -环形链表的做法的证明一定要理解透彻因为面试很可能问到噢。 复制带随机指针的链表 题目链接- 传送门 -。 题目描述给你一个长度为 n 的链表每个节点包含一个额外增加的随机指针 random 该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 。例如如果原链表中有 X 和 Y 两个节点其中 X.random -- Y 。那么在复制链表中对应的两个节点 x 和 y 同样有 x.random -- y 。返回复制链表的头节点。 也就是复制一个链表。 例如复制下面这个链表复制后返回复制后的链表的头节点 解题思路 我相信看到这个题第一感觉就是暴力把他给复制了。但暴力终会达到O(N^2)虽然可以过但如果面试的时候遇到这个问题面试官可能就会问如何将时间复杂度降到O(N)呢 所以这里使用一种O(N)的方法来解这道题。 首先我们在原链表上的每一个节点后面插入一个与自己有相同值的节点称为copy节点然后进行连接如下 然后进行的操作是最关键的再遍历一遍连接了copy节点后的链表将每一个copy节点的random指向它前一个节点就是被复制的那个节点因此这里操作的时候需要一个指针指向copy节点的前一个节点的random的next节点如果copy的前一个节点的random指向NULL那直接将copy节点的random指向NULL直到遍历结束可以得到下面这个链表 细心观察不难发现上面的所有copy节点组成的链表实际上就与原链表相同了。 因此最后的操作就是将每一个copy节点取下来尾插到新的链表上最后返回这个新链表的头即可。当然啦这里还需要将原链表复原。 根据上面的思路会发现如何将这些过程转换成代码是个难点。这里没得巧就是多练多写正如无他唯手熟尔。 ⏩下面是代码实现(注意一边写代码或者看代码一边要体会整个思路的过程) struct Node* copyRandomList(struct Node* head) {struct Node* cur head;while (cur){// 创建copy节点struct Node* copy (struct Node*)malloc(sizeof(struct Node));copy-val cur-val;// 存放当前节点的下一个节点的地址便于连接和继续遍历链表struct Node* next cur-next;// 连接cur-next copy;copy-next next;cur next;}cur head;while (cur){// 同样三个指针遍历struct Node* copy cur-next;struct Node* next copy-next;// 放置copy的random指针if (cur-random NULL) copy-random NULL;else copy-random cur-random-next;cur next;}// 新链表的头和连接新链表的指针struct Node* copyHead NULL, *copyTail NULL;cur head;while (cur){// 同样需要三个指针来遍历struct Node* copy cur-next;struct Node* next copy-next;// 如果copyHead为NULL先同时指向头节点if (copyHead NULL) {copyHead copyTail copy;}else {copyTail-next copy;copyTail copyTail-next;}// 复原原链表cur-next next;// 找下一个cur next;}return copyHead; }写在最后 对于单链表的题目练习最重要的是思路我们在数据结构阶段要养成画图的习惯因为它能帮助我们更好的理解。单链表的OJ练习在此就结束了大家要好好练习噢~ 感谢阅读本小白的博客错误的地方请严厉指出噢~
http://www.w-s-a.com/news/123076/

相关文章:

  • 网站集群建设和网站集约化百度商桥怎么绑定网站
  • 青岛模板网站建设价格网络品牌网站建设
  • 网站建设的几大要素网站的做网站的公司
  • 怎么登陆自己的公司网站垂直电商网站建设
  • 温州微网站制作哪里有许昌网站建设哪家最好
  • 中国中小企业网站官网网页制作工具按其制作方式分 可以分为
  • 做资源下载网站违法吗河南企业做网站
  • 网站开发总体功能设计网站建设 北京昌平
  • 辽宁省高等级公路建设局网站书画院网站建设方案
  • 本地生活网站 源码重庆本地网站有哪些
  • 企业网站域名服务器国外html响应式网站
  • 东莞网站建设策划企业网站推广策划方法
  • 网站的图片怎么制作WordPress交互式网站
  • pc网站增加手机站什么专业学网页设计制作
  • 婚庆公司网站模板wordpress用什么框架
  • 高校网站建设的时效性长沙市网站建设
  • 合肥网站建设市场四川建设网官网住房和城乡厅官网官方
  • 天行健君子以自强不息网站建设江西网站做的好的企业文化
  • 建网站内容谷歌搜索引擎优化
  • 网站建设与管理案例教程第三版答案网站建设策划书范文六篇精选
  • 建设工程项目在哪个网站查询实时网站推广的最终目的是
  • 个人网站可以做淘客网站设置的参数
  • 自适应网站制作公司做室内设计通常上的网站
  • 网站建设项目采购公告建设网站公司建网页
  • 自己做网站怎么推广网站建设应该考虑哪些方面
  • 我做的网站手机上不了wordpress插件整站搬家
  • 河南省和建设厅网站首页西安找建网站公司
  • 网页设计基础代码网站进出成都最新通知
  • 如何创建网站乐清网络科技有限公司
  • 沈阳市网站制作艺术字体logo设计生成器