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

linux系统网站空间开网站建设公司赚钱吗

linux系统网站空间,开网站建设公司赚钱吗,wordpress隐私页,廊坊网站关键词推广给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后&#xff…

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。

图示两个链表在节点 c1 开始相交

题目数据 保证 整个链式结构中不存在环。

注意,函数返回结果后,链表必须 保持其原始结构 。


示例 1:

输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3
输出:Intersected at '8'
解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。
从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1,8,4,5]。
在 A 中,相交节点前有 2 个节点;在 B 中,相交节点前有 3 个节点。

示例 2:

输入:intersectVal = 2, listA = [0,9,1,2,4], listB = [3,2,4], skipA = 3, skipB = 1
输出:Intersected at '2'
解释:相交节点的值为 2 (注意,如果两个链表相交则不能为 0)。
从各自的表头开始算起,链表 A 为 [0,9,1,2,4],链表 B 为 [3,2,4]。
在 A 中,相交节点前有 3 个节点;在 B 中,相交节点前有 1 个节点。

示例 3:

输入:intersectVal = 0, listA = [2,6,4], listB = [1,5], skipA = 3, skipB = 2
输出:null
解释:从各自的表头开始算起,链表 A 为 [2,6,4],链表 B 为 [1,5]。
由于这两个链表不相交,所以 intersectVal 必须为 0,而 skipA 和 skipB 可以是任意值。
这两个链表不相交,因此返回 null 。

提示:

  • listA 中节点数目为 m
  • listB 中节点数目为 n
  • 0 <= m, n <= 3 * 104
  • 1 <= Node.val <= 105
  • 0 <= skipA <= m
  • 0 <= skipB <= n
  • 如果 listA 和 listB 没有交点,intersectVal 为 0
  • 如果 listA 和 listB 有交点,intersectVal == listA[skipA + 1] == listB[skipB + 1]

进阶:你能否设计一个时间复杂度 O(n) 、仅用 O(1) 内存的解决方案?


代码:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {ListNode *curA = headA;ListNode *curB = headB;int lenA = 0, lenB = 0, gap;while(curA != nullptr){lenA++;curA = curA->next;}while(curB != nullptr){lenB++;curB = curB->next;}curA = headA;curB = headB;if(lenA > lenB) gap = lenA - lenB;else gap = lenB -lenA;// cout << gap;for(;gap > 0; gap--){if(lenA > lenB) curA = curA->next;else curB = curB->next;}while(curA != nullptr && curB != nullptr){if(curA == curB) return curA;curA = curA->next;curB = curB->next;}return nullptr;}
};

解题思路:

(1)理解题意,如果出现重合,那么在交点之后,每个节点都相同。那么最长的重合,只能是最短的链表的长度。

(2)首先,计算两个链表的长度。

(3)接着,让短的链表先走 “两个链表的长度差值”。

(4)最后,比较剩余节点是否相等,相等则返回节点,不等则返回nullptr。


文章转载自:

http://ERWHWRO6.nfdty.cn
http://RS0tRd6r.nfdty.cn
http://ivCdyJFH.nfdty.cn
http://YYPmVmWk.nfdty.cn
http://iyUytZqH.nfdty.cn
http://d8H0BIo6.nfdty.cn
http://JRbB5jl8.nfdty.cn
http://wmA9k14a.nfdty.cn
http://jnP7e0L4.nfdty.cn
http://FtWwjJkS.nfdty.cn
http://YxCJrY45.nfdty.cn
http://O8MiK6Ca.nfdty.cn
http://c7f49Atq.nfdty.cn
http://RtTLGIAc.nfdty.cn
http://Vi9wfxIO.nfdty.cn
http://YOMQUj7T.nfdty.cn
http://egH9Jv0e.nfdty.cn
http://tLWkNpdv.nfdty.cn
http://nUPFb3vn.nfdty.cn
http://M8osmSLy.nfdty.cn
http://tq6DBvtz.nfdty.cn
http://uKQpHlnV.nfdty.cn
http://21g7a1oa.nfdty.cn
http://NLsvGKrI.nfdty.cn
http://BLmIrKw2.nfdty.cn
http://lN2Sj63s.nfdty.cn
http://cJ14DqHD.nfdty.cn
http://Ub8fuCjF.nfdty.cn
http://Hy0J2VZ5.nfdty.cn
http://jmfgEM1a.nfdty.cn
http://www.dtcms.com/wzjs/667079.html

相关文章:

  • 注册 网站开发 公司濮阳网络科技有限公司
  • 使用编辑字母做免费网站女装网站建设文献综述
  • 网站封面制作怎么做网站啊
  • 广西网站建设招标公司苏州个人制作公司
  • 网站微信建设运维经验wordpress栏目首页
  • 深圳建网站培训机构龙岩天宫山要爬多久
  • 大连有做途家网站吗wordpress 后台用户权限
  • 网站都有服务器吗快速建站全流程详细指导手册
  • 广西工商网站查询企业信息迁安建设局官方网站
  • 港口建设费申报网站微信订阅号做微网站吗
  • 网站建设与维护题库企业网站排版规则
  • 南昌网站建设收费wordpress网址采集
  • 西安公司做网站开公司要做哪些准备
  • 做开发房地产网站可行吗网站实名审核中心
  • 家具网站首页模板企业网易邮箱
  • 台州椒江网站建设公司wordpress网站数据库崩溃
  • 如何做网站计数器怎样做网站标题的图标
  • 怎么做钓qq密码网站郴州百姓网
  • 网站开发安全需求苏州建设银行招聘网站
  • 品牌公司网站建设定制系统软件开发
  • 如何做微信电子书下载网站WordPress十万数据可以
  • 许昌知名网站建设价格外发加工网邀请码
  • 网站开发学校全搜网
  • 西安知名网站建设网页qq登录保护不让用
  • 做网站做的拼多多开网店
  • 深圳珠宝品牌网站设计wordpress彩色美化
  • 贵州网站建设营销公司联客易外贸网站建设推广
  • 中国最大的建材网站找人做网站 优帮云
  • 网站右边跳出的广告怎么做公司用员工信息做网站域名备案
  • 建设网站用什么代码写好呢建立自我