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

国内全屏网站有哪些制作公司网页官网

国内全屏网站有哪些,制作公司网页官网,湘潭seo公司选择24火星,免费建站的目录 题一:环形链表 思路一: 题二:复制带随机指针的链表 思路一: 本人实力有限可能对一些地方解释的不够清晰,可以自己尝试读代码,望海涵! 题一:环形链表 给定一个链表的头节点…

目录

题一:环形链表

思路一:

题二:复制带随机指针的链表

 思路一:

本人实力有限可能对一些地方解释的不够清晰,可以自己尝试读代码,望海涵!


题一:环形链表

给定一个链表的头节点  head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。

不允许修改 链表。

示例 1:

思路一:

        定义快慢指针:slow,fast,slow每次走一步,fast每次走两步;假设到环口长度为L,环的周长为C,slow从环口到相遇点为S,如下图:slow走了:L+S fast走了:2*(L+S);当slow到环口时fast已经走了n圈到相遇时n>=1,所以fast到相遇时走了:L+n*C+S
得出运算式:L = n*C-S结论:一个指针从起点走,一个从相遇点走,他们会在入口点相遇。

struct ListNode *detectCycle(struct ListNode *head) 
{struct ListNode* slow = head;struct ListNode* fast = head;struct ListNode* newnode = head;//判断有没有相遇点while(fast && fast->next){slow = slow->next;fast = fast->next->next;//找到相遇点if(slow == fast){struct ListNode* node = slow;//分别从起点和相遇点开始走while(node != newnode){newnode = newnode->next;node = node->next;}return newnode;}}return NULL;
}

题二:复制带随机指针的链表

给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。

构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 

例如,如果原链表中有 X 和 Y 两个节点,其中 X.random --> Y 。那么在复制链表中对应的两个节点 x 和 y ,同样有 x.random --> y 。

返回复制链表的头节点。

示例 1:

输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]
输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]

 思路一:

第一步:在原链表的每一个之间开辟一块相同空间的copy将val和下一个的地址复制,并改变cur->next=copy;

第二步:因为每个原链表后面都有一个复制的copy链表所以copy-> randon都可以指向自己复制的randon核心: copy=cur-> randon->next

第三步:将copy链表从原链表head上分离出来,并将各自的节点接上

 

 

struct Node* copyRandomList(struct Node* head) {struct Node* cur = head;while(cur){struct Node* next = cur->next;//开辟copy的节点struct Node* copy = (struct Node*)malloc(sizeof(struct Node));//复制值copy->val = cur->val;//插入copy->next = next;cur->next = copy;//向后走cur = next;}cur = head;while(cur){struct Node* copy = cur->next;if(cur->random != NULL){//copy的随机节点指向自己的随机节点copy->random = cur->random->next;}else{copy->random = NULL;}cur = copy->next;}//分离链表struct Node* copyhead = NULL;struct Node* copytail = NULL;cur = head;while(cur){struct Node* copy = cur->next;struct Node* next = copy->next;//分离copy链表if(copytail == NULL){copyhead = copytail = copy;}else{copytail->next = copy;copytail = copytail->next;}//恢复原链表cur->next = next;cur = next;}return copyhead;
}

本人实力有限可能对一些地方解释的不够清晰,可以自己尝试读代码,望海涵!

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

相关文章:

  • 18款禁用网站app直播恢复原来的网站
  • 千城网站建设中山网站设计素材
  • 网站建设是 口号网站的开发流程
  • 专业网站托管的公司讲究 网站
  • 赤峰做网站建设的企业江苏省做网站
  • 网站建设宣传的目的项目设计课题研究高中综合评价
  • 校园网站建设计划做网站 做app
  • 没有版权的图片网站毕业设计代做网站有哪些
  • 如何把网站一个栏目做301跳转贵港哪里有网站建设推广
  • 外贸网站建设加推广郑州全网营销推广
  • 昆明网站建设优化图片搜狗推广管家下载
  • 广东网站建设专业公司哪家好网络营销策略案例分析
  • 云主机开网站教程深圳注册公司注册地址要求
  • 做网站的公司广州wordpress单栏主题 极简
  • 平台网站定制微信开店怎么注册开店流程
  • 网站开发攻略怎么网站建设公司
  • 知乎做笔记的网站seo短视频发布
  • 四川建设银行手机银行下载官方网站下载安装做微网站的第三方
  • 怎么随便搞个网站讨债公司 做网站
  • 旅游网站制作分析福州男同性做基网站
  • 可信网站验证服务外包公司的人好跳槽吗
  • 网站怎么做图片动态图片大全武邑网站建设价格
  • 做静态页面的网站济南智能网站建设咨询电话
  • seo网站推广是什么意思wordpress 页面属性 父级
  • 做外贸大一点的网站门户网站的建设公司
  • 卡地亚手表官方网站查询浙江响应式网站建设制作
  • 有人上相亲网站做传销燕窝做互联网小程序 和网站有没有前景
  • 西青做网站的公司网站版面
  • 手表网站制作西安建筑人才网
  • 网站在开发过程中如何做SEO天津建设网站天津市地铁规划图