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

环保部网站官网建设项目限批办法男的做直播网站

环保部网站官网建设项目限批办法,男的做直播网站,相亲网站绑定微信怎么做,wordpress 文章字段题目 思路 1.哈希集合 因为要求是否存在相交节点,那么我们就可以利用哈希集合先将listA链表里面的所有数据存入,然后访问listB,判断其是否有节点在哈希集合中,若存在,则说明此节点为相交的节点。若遍历完之后仍没有发…

题目

思路

1.哈希集合

因为要求是否存在相交节点,那么我们就可以利用哈希集合先将listA链表里面的所有数据存入,然后访问listB,判断其是否有节点在哈希集合中,若存在,则说明此节点为相交的节点。若遍历完之后仍没有发现,则说明两个表之间不存在相交节点,返回nullptr即可。

2.双指针

首先进行条件判断,若headA和headB中有一个为空,则说明不可能有相交节点,直接返回nullptr即可。

接着用cur1和cur2变量用来遍历listA和listB链表,循环中用了三元运算符,就第一个来说,若cur1为空,则直接将cur1赋值为headB,若不为空,则继续往下移动。

第二个也是如此,那为什么这样就可以求出它们的相交节点呢?

假设链表 headA 的长度为 m,链表 headB 的长度为 n,且它们的交点之后的公共部分长度为 k

  • 当 cur1 遍历完 headA 后,它会开始遍历 headB,此时 cur1 已经走了 m 步。

  • 当 cur2 遍历完 headB 后,它会开始遍历 headA,此时 cur2 已经走了 n 步。

  • 当 cur1 和 cur2 都开始遍历对方的链表时,它们会在交点处相遇,因为此时 cur1 和 cur2 都走了 m + n - k 步。

如果两个链表没有交点,那么 cur1 和 cur2 最终都会指向 nullptr,此时返回 nullptr

下面举个例子来看就容易理解了

listA: A1 -> A2 -> A3 -> C1 -> C2 -> C3

listB: B1 -> B2 -> C1 -> C2 -> C3

  • 链表 listA 的长度为 m = 6

  • 链表 listB 的长度为 n = 5

  • 交点之后的公共部分长度为 k = 3(即 C1 -> C2 -> C3)。

运行过程:
  1. 初始化指针

    • cur1 指向 A1

    • cur2 指向 B1

  2. 遍历过程

    • cur1 依次遍历:A1 -> A2 -> A3 -> C1 -> C2 -> C3 -> nullptr

    • 当 cur1 到达 nullptr 时,它已经走了 m = 6 步,然后切换到 listB,继续遍历:B1 -> B2 -> C1

    • cur2 依次遍历:B1 -> B2 -> C1 -> C2 -> C3 -> nullptr

    • 当 cur2 到达 nullptr 时,它已经走了 n = 5 步,然后切换到 listA ,继续遍历:A1 -> A2 -> A3 -> C1

  3. 相遇点

    • 当 cur1 切换到 listB 后,它走了 m + n - k = 6 + 5 - 3 = 8 步。

    • 当 cur2 切换到 listA  后,它走了 n + m - k = 5 + 6 - 3 = 8 步。

    • 两者会在交点 C1 处相遇。

代码

1.哈希集合

class Solution {
public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {unordered_set<ListNode*> s;while(headA){s.insert(headA);headA = headA->next;}while(headB){if(s.count(headB)){return headB;}headB = headB->next;}return nullptr;}
};

2.双指针

class Solution {
public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {if(headA == nullptr || headB == nullptr)return nullptr;ListNode* cur1 = headA;ListNode* cur2 = headB;while(cur1 != cur2){cur1 = cur1==nullptr ? headB : cur1->next;cur2 = cur2==nullptr ? headA : cur2->next;}return cur1;}
};


文章转载自:

http://OHYboNlA.jfmyt.cn
http://ctEPa6LI.jfmyt.cn
http://y354yzQu.jfmyt.cn
http://cgEs41HR.jfmyt.cn
http://f1DxuXCn.jfmyt.cn
http://0K6f5un7.jfmyt.cn
http://UlXVCnKF.jfmyt.cn
http://Vef7Oe7u.jfmyt.cn
http://rJv05k3N.jfmyt.cn
http://yVM4Zps0.jfmyt.cn
http://Mq2kO8su.jfmyt.cn
http://1PRCSUJC.jfmyt.cn
http://KBRyKnhz.jfmyt.cn
http://Y6EVwoq1.jfmyt.cn
http://pAMbLaAO.jfmyt.cn
http://hC3h2QJf.jfmyt.cn
http://KqbrJ698.jfmyt.cn
http://gEwthuuZ.jfmyt.cn
http://XKqTkl5k.jfmyt.cn
http://ivwYbUqZ.jfmyt.cn
http://EI6FIh44.jfmyt.cn
http://ajMX4WDC.jfmyt.cn
http://FW7f2KWB.jfmyt.cn
http://PyBRBbUs.jfmyt.cn
http://c0gwtQJP.jfmyt.cn
http://AIT6bcyo.jfmyt.cn
http://rjxzhde8.jfmyt.cn
http://fL0BBNOA.jfmyt.cn
http://UCUh9i2h.jfmyt.cn
http://nIcYoyde.jfmyt.cn
http://www.dtcms.com/wzjs/714764.html

相关文章:

  • 做网站 聊城网站侧边栏代码
  • 茂名网站建设方案外包制作手机网站建设
  • 做高仿网站有哪些ftp中不能打开wordpress
  • 怎么做网站建设销售汉口江岸区城市建设局网站
  • 建筑设计费一般多少钱一平方张家口seo
  • 做一件代发的网站免费ppt模板下载简约风
  • wordpress返回上页百度seo是啥意思
  • 爱站工具包的模块有哪些ftp上传网站之后怎么做
  • 在哪学习建网站豆瓣 wordpress
  • 外包服务公司排名网站seo推广怎么做
  • 网站设计与应用方向论文外贸人才网招聘网
  • 企业做网站etp和源程序互联网公司排名广州
  • 做网站考什么赚钱微信企业网站
  • 网站做排名需要多少钱山东省建设工程网站
  • 莘县网站建设怎样做天猫 淘宝网站导购
  • 小清新网站源码重庆大学建设管理与房地产学院网站
  • 哪个网站做h5比较好做淘宝优惠卷网站步骤
  • 最简单的单页网站怎么做网站备案链接直接查看
  • 湖北网站科技建设项目模仿做网站
  • 哪些网站可以免费做产品推广健康网站可以做推广吗
  • 房产网站设计模板酒店如何做好线上营销
  • 好的营销网站公众号做网站
  • 设计网站广告语温岭市建设局网站审批公示
  • 云网站注册太原建站培训
  • 南昌网站排名优化费用济宁企业网站建设公司
  • 手机网站最简单三个步骤河南省工程建设监理协会网站
  • 03340 网站建设与管理3d动画制作软件免费
  • 邯郸做网站询安联网络济南建设厅官方网站
  • 南京定制网站哪个好wordpress建个人网站
  • 做网站的域名纳税服务网站建设情况