LeetCode 面试题 02.07.链表相交


思路

题目的本意其实就是求两个链表相交处结点的指针,并返回该结点指针
步骤:
Step1.分别用两个指针curA、curB指向两个链表A、B的头结点
Step2.求出链表A与链表B的链表长度
Step3.实现两个链表末尾对齐,并且让curA与curB在同一起始结点上
Step4.循环遍历两个链表,遇到相同的结点则直接返回

代码

class Solution {public:int getListLength(ListNode *cur){int len = 0;while(cur != nullptr){len++;cur = cur->next;}return len;}ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {// step1.分别用两个指针curA、curB指向两个链表A、B的头结点ListNode *curA = headA;ListNode *curB = headB;// step2.求出链表A与链表B的链表长度int lenA = getListLength(curA);int lenB = getListLength(curB);// curA = headA;// curB = headB;// step3.实现两个链表末尾对齐,并且让curA与curB在同一起始结点上if(lenA < lenB){swap(curA, curB);swap(lenA, lenB);}int gap = lenA - lenB;while(gap--){curA = curA->next;}// step4.循环遍历两个链表,遇到相同的结点则直接返回while(curA != nullptr){if(curA == curB){return curA;}curA = curA->next;curB = curB->next;}return nullptr;}
};

[LeetCode] 面试题 02.07. 链表相交相关推荐

  1. leetcode面试题 02.07. 链表相交

    一:题目 二:思路 1.这道题我们是需要找到一个结点,并且从这个结点往后的结点都相等 2.我们需要将两个链表 右对齐 3.然后将长链表的指针移动到和短链表头结点相同的位置 4.接下来就是比较指针,当一 ...

  2. 面试题02.07.链表相交

    面试题02.07链表相交 public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode hea ...

  3. LeetCode-链表-面试题 02.07. 链表相交

    描述 02.07. 链表相交 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表没有交点,返回 null . 图示两个链表在节点 c1 开始相交 ...

  4. 面试题 02.07. 链表相交

    给定两个(单向)链表,判定它们是否相交并返回交点.请注意相交的定义基于节点的引用,而不是基于节点的值.换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表 ...

  5. 力扣(707.面试题02.07)补9.16

    707.设计链表 可以,真的是一个工程类的题目,处处要考虑细节,其实20分钟基本能写好,但是改各种细节又要40分钟,就是各种bug,总共花了一个小时才正确. class MyLinkedList { ...

  6. 面试题 02.05. 链表求和

    面试题 02.05. 链表求和 给定两个用链表表示的整数,每个节点包含一个数位. 这些数位是反向存放的,也就是个位排在链表首部. 编写函数对这两个整数求和,并用链表形式返回结果. 示例: 输入:(7 ...

  7. 代码随想录(day04)-LeetCode:24、19、面试题02.07、142

    代码随想录:dayo4 1. [24]两两交换链表中的节点 虚拟头结点实现 递归实现 2.[19]**删除链表的倒数第N个节点** 双指针算法 3. 面试题[02.07]:链表相交 4.[142]环形 ...

  8. 程序员面试金典 - 面试题 02.05. 链表求和

    1. 题目 给定两个用链表表示的整数,每个节点包含一个数位. 这些数位是反向存放的,也就是个位排在链表首部. 编写函数对这两个整数求和,并用链表形式返回结果. 示例: 输入:(7 -> 1 -& ...

  9. leetcode面试题 02.08. 环路检测

    给定一个有环链表,实现一个算法返回环路的开头节点. 有环链表的定义:在链表中某个节点的next元素指向在它前面出现过的节点,则表明该链表存在环路. 示例 1: 输入:head = [3,2,0,-4] ...

最新文章

  1. mssql 查询当前自增序号_查询函数Choose、Lookup、Hlookup、Vlookup应用技巧解读
  2. 【Oracle】锁表查询与解锁
  3. post方法就返回了一个string字符串前台怎么接_LoadRunner脚本编写教程Getamp;Post
  4. php-fpm 的参数,php-fpm启动参数配置详解
  5. 哪些模块可用于python性能分析_python性能分析之cProfile模块
  6. matlab2c使用c++实现matlab函数系列教程-ones函数
  7. python安装无法直接安装的包
  8. Python自学之乐-python中break continue exit() pass浅析
  9. pdf转word转换器绿色版
  10. 基于C#的超市进销存管理系统设计与实现
  11. 灰度图转热力图_热力图下看区域城市密集度,密集度较高的主要在沿海和省会周边...
  12. ffmpeg学习:滤镜(实现视频缩放,裁剪,水印等) -
  13. 百度api文字转语音效果
  14. nuxt中客户端呈现的虚拟DOM树与服务器呈现的内容不匹配
  15. 教您用几何画板画相切的圆
  16. php打印10以内减法表,幼儿10以内减法教案
  17. arduino串口点灯
  18. python数据分析分析(8G)学习视频免费分享
  19. sed 去掉所有的换行符
  20. 魔法王座微端不显示服务器,魔法王座无法登陆卡顿等常见问题解决方法

热门文章

  1. python如何计算字典平均值_算出字典中数值的平均值
  2. Win10系统提示过期,三条命令帮你搞定
  3. 蔬菜小程序服务器,生鲜蔬菜同城配送小程序案例分析
  4. c语言坐标反算方位角函数,反三角函数/简易正反算or方位角转度分秒
  5. Day9 化学方程式配平
  6. 找树左下角的值+路径总和+从前序和中序遍历序列构造二叉树(day18*)
  7. F5 Networks数据中心资源整合解决方案
  8. vba获取html代码数据,VBA获取网页表格数据
  9. 王祥林 计算机专业英语答案,计算机专业英语 第3版 配套习题 作者 王祥林 陈静姣 模拟试题1.doc...
  10. Direct2D (9) : 显示图像