首页 > 其他分享 >面试题 02.07. 链表相交

面试题 02.07. 链表相交

时间:2024-09-28 21:36:10浏览次数:1  
标签:tempB tempA ListNode na 02.07 面试题 next 链表 nb

明天回家喽,最近在学习的瓶颈期,感觉学的东西好难,有厌学的心理,但是我相信过了这段煎熬的时期,就好了。

class Solution {
public:
    ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
        int na = 0, nb = 0;
        ListNode* tempA = headA;
        ListNode* tempB = headB;
        while(tempA){
            ++na;
            tempA = tempA->next;
        }
        while(tempB){
            ++nb;
            tempB = tempB->next;
        }
        int n = na- nb;
        if(nb > na){
            tempA = headB;
            tempB = headA;
            n = nb - na;
        }else{
            tempA = headA;
            tempB = headB;
        }
        while(n){
            tempA = tempA->next;
            --n;
        }
        while(tempA){
            if(tempA == tempB) return tempA;
            tempA = tempA->next;
            tempB = tempB->next;
        }
        return NULL;
    }   
};

 

标签:tempB,tempA,ListNode,na,02.07,面试题,next,链表,nb
From: https://www.cnblogs.com/llllmz/p/18438453

相关文章

  • 链表分割 1.2版本
    现有一链表的头指针ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。思路:大致可以分为两个区域来存储数据:区域一存储小于36的节点,区域二存储大于36的节点.可以将这两个区域视为两个链表......
  • 算法训练营第三天| 203.移除链表元素、707.设计链表、206.反转链表
    203.移除链表元素状态:完成个人思路:首先令head符合条件,之后判断这个head是否为空,空的话返回空节点;非空的话继续进行。令pre=head;cur=head->next,只要cur非空,就判断cur的值的情况,如果需要删除,就改变pre->next和cur;如果不需要删除就继续检查下一个。看完讲解视频之后的想法:我......
  • 代码随想录算法训练营第三天 | 熟悉链表
    链表的存储方式数组是在内存中是连续分布的,但是链表在内存中可不是连续分布的。链表是通过指针域的指针链接在内存中各个节点。所以链表中的节点在内存中不是连续分布的,而是散乱分布在内存中的某地址上,分配机制取决于操作系统的内存管理。链表的定义template<typenameT>......
  • 前端面试题
    1.缓存前端缓存前端缓存是Web开发中用于提高页面加载速度和减轻服务器负担的一种技术。它主要指的是资源(如HTML、CSS、JavaScript、图片等)在客户端(浏览器)的存储和复用。当浏览器再次请求相同的资源时,如果缓存中存在且未过期,浏览器将直接从缓存中加载资源,而不是向服务器发送请......
  • 力扣 简单 206.反转链表
    文章目录题目介绍题解题目介绍题解法一:双指针在遍历链表时,将当前节点的next改为指向前一个节点。由于节点没有引用其前一个节点,因此必须事先存储其前一个节点。在更改引用之前,还需要存储后一个节点。最后返回新的头引用。代码如下:classSolution{public......
  • 力扣 中等 92.反转链表 II
    文章目录题目介绍题解题目介绍题解classSolution{publicListNodereverseBetween(ListNodehead,intleft,intright){//创建一个哑节点,它的next指向头节点,方便处理ListNodedummy=newListNode(0,head);//p0用于......
  • Spring面试题-@Autowired注解和@Resource注解的区别
    简要回答@Autowired默认情况下,@Autowired是按类型(byType)自动装配的。如果Spring容器中恰好有一个匹配的bean类型,它将自动注入这个bean。如果有多个相同类型的bean,则需要通过@Qualifier注解来指定注入哪一个bean。此外,@Autowired也可以按名称(byName)装配,但这通常需......
  • Java面试题及答案整理汇总(2024最新版)
    前言辞退了老板,准备找下家,又要开始面试了,不得不准备准备八股文,还是很有必要针对性的刷一些题,很多朋友的实战能力很强,但是理论比较薄弱,要多准备准备理论知识,攻克面试官。这是我在全网寻找稍微比较完整的面试题,分享给大家**2024面试资料整理**tip:不止是收藏~学到才是自己的......
  • Qt面试题
    什么是Qt的元对象系统?点击查看代码Qt的元对象系统是Qt框架中一个核心的组成部分,提供了一种机制来拓展C++的功能,Qt的元对象系统(Meta-ObiectSystem)提供了对象之间通信的信号与槽机制、运行时类型信息和动态属性系统。元对象系统由以下三个基础组成。1.QObiect类是所有......
  • 算法题:用队列实现一个链表
    下面是添加了注释的ListNode类和LinkedListQueue类,以帮助理解每个部分的功能和目的://定义链表节点类,用于存储队列中的元素classListNode{intval;//存储节点的值ListNodenext;//指向下一个节点的指针//构造函数,用于创建新的节点ListNod......