这一道题的思路:
1、如国两个链表有一个为NULL,那就直接返回NULL;
2、如果两个链表相交,那么搜索的长度=短链表的长度;
3、题目默认不存在val相等,相等,突然不相等的情况;

遇到的问题:测试用例,返回1,预期是8

为什么?
因为题目想要的是节点一样而不是节点值一样,对于两个值为1的节点,他们的前驱是不一样的,因此,第一个相等的节点是值为8的节点

解决的方法:
把判断值相等改为判断链表相等;

/*** 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) {//如果A或者B为NULL,直接返回NULLif(headA==NULL||headB==NULL)return NULL;//判断AB的长度,搜索长度=短链表长度ListNode *tmpA=headA;ListNode *tmpB=headB;int lenA=0;int lenB=0;while(tmpA!=NULL){lenA++;tmpA=tmpA->next;}while(tmpB!=NULL){lenB++;tmpB=tmpB->next;}tmpA=headA;tmpB=headB;if(lenA>lenB){int i=lenA-lenB;while(i){tmpA=tmpA->next;i--;}}else if(lenA<lenB){int i=lenB-lenA;while(i){tmpB=tmpB->next;i--;}}//while(tmpA!=NULL){if(tmpA==tmpB)return tmpA;else tmpA=tmpA->next;tmpB=tmpB->next;}return NULL;}
};


杂谈:
今年的这个寒假特别长,努力一年考上了研究生,心态慢慢的发生了变化,曾经以为自己要多么努力的做实验,写论文,要继续大学期间的苦读;如今,看清了眼前的道路,毕业也就是一个普普通通的程序员,我是到了今天才知道,原来我这个也算是转行,突然就明白了软件工程与通信工程的质的区别。

今天刷知乎,看了一个回答,25岁坚持做什么,可以让5年后的自己受益:坚持做以时间为成本的事情。

5年做到一个领域的顶尖,让30岁的自己为25岁的自己骄傲自豪,所幸今年虚岁23,时间还大把的有啊,这个疫情期间,多刷刷代码,目前数据结构也就比较熟悉链表,定个小目标,先把链表的简单题目做完

奥利给:力扣160:相交链表相关推荐

  1. 力扣160.相交链表

    题目描述 编写一个程序,找到两个单链表相交的起始节点. 注意: 如果两个链表没有交点,返回 null. 在返回结果后,两个链表仍须保持原有的结构. 可假定整个链表结构中没有循环. 程序尽量满足 O(n ...

  2. 力扣LeetBook<链表>学习笔记

    文章目录 一.概述 二.单链表 1.设计单链表 三.双指针技巧 1. 环形链表 2.环形链表Ⅱ 3.相交链表 4.删除链表的倒数第N个节点 5.小结 四.经典问题 1.反转链表 2.移除链表元素 3. ...

  3. LeetCode-链表-160. 相交链表

    160. 相交链表 思路一:使用set用到了额外的内存,没有达到题目要求 /*** Definition for singly-linked list.* struct ListNode {* int ...

  4. 双指针算法之快慢指针(一):力扣【判断链表是否有环】leetcode-141、142

    一.简介:什么是快慢指针? 快慢指针,顾名思义,无非就是设置一个快指针,一个慢指针,初始化的时候,快指针和慢指针都指向链表的头结点,前进的时候一个在前一个在后,结合起来可以十分巧妙的解决链表中的一些问 ...

  5. 双指针算法之快慢指针(二):力扣【寻找链表的第N个点】leetcode-876、19

    双指针算法之快慢指针(二):力扣[寻找链表的第N个点]leetcode-876.19 看完本文,可以去解决力扣的 867 题和 19 题 以往参考:双指针算法之快慢指针(一):力扣[判断链表是否有环] ...

  6. LeetCode Algorithm 160. 相交链表

    160. 相交链表 Ideas 这题之前左神算法课的时候也讲过,那是一个带环的相交链表,不过原理都是一样的. 双指针,a指针先沿着headA开始走,走到头之后开始沿着headB继续走,b指针先沿着he ...

  7. 160. 相交链表 golang

    160. 相交链表 计算两个链表长度,让长的先走到两个链表一样长,然后找交点 编写一个程序,找到两个单链表相交的起始节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:inters ...

  8. 【LeetCode】【HOT】160. 相交链表

    [LeetCode][HOT]160. 相交链表 文章目录 [LeetCode][HOT]160. 相交链表 package hot;class ListNode{int val;ListNode n ...

  9. 力扣61. 旋转链表(转vector三次翻转、成环解环)

    力扣61. 旋转链表(转vector三次翻转.成环解环) https://leetcode-cn.com/problems/rotate-list/ 给定一个链表,旋转链表,将链表每个节点向右移动 k ...

  10. 【Leetcode】拿捏链表(四)——160. 相交链表、141. 环形链表、142. 环形链表 II

    作者:一个喜欢猫咪的的程序员 专栏:<Leetcode> 喜欢的话:世间因为少年的挺身而出,而更加瑰丽.                                  --<人民 ...

最新文章

  1. 利用定时器做防止误触发功能以及多久后执行某个事件
  2. 利用人工智能众包数据,加速药物发现
  3. Linux下的线程编程
  4. diskgeniusv4.4.0_.NET Core 3.0及ASP.NET Core 3.0前瞻
  5. 加强路由器的安全访问控制
  6. java字节的输入输出流,java 字节输入输出流
  7. QML基础类型之url
  8. ⚡关于Eastmount博客「网络安全自学篇」系列重要通知!!!⚡
  9. 光控华登王毅喆:如何投资科技领域?坚守技术驱动,敬畏并影响周期
  10. .Net Core建站(2):EF Core+CodeFirst数据库迁移
  11. java每个阶段的学习时间_每个Java学习者都会犯的10个最常见的1个错误
  12. ftpwebrequest 无法加载或初始化请求的服务提供程序_jvm之类加载机制
  13. 华为路由器ws5200虚拟服务器,想处理垃圾路由吗?那就先入手这款华为WS5200路由器吧...
  14. SpringMVC学习(八)Ajax异步请求
  15. 美丽的回测 —— 教你定量计算过拟合概率
  16. 将Excel中的图片链接替换为图片
  17. steam饥荒服务器为什么显示未响应,《饥荒:联机版》服务器卡顿原因分析及解决教程...
  18. r5 4500u相当于英特尔什么级别 锐龙r54500u相当于i几
  19. 电商行业分析指标体系拆解下钻
  20. 4星+|《赋能:打造应对不确定性的敏捷团队》:海豹突击队学习伊拉克“基地”组织的组织形式并且最终战胜对方的故事...

热门文章

  1. linux SIGSEGV信号 内存访问错误 Segmentation fault
  2. UE4中蓝图实现输入框输入关键字搜索对应东西
  3. speedtree中文对照ppt_SpeedTree树木建模入门知识整理
  4. alt复制选区就会卡 ps_ps怎么复制选区相关常见问题解答
  5. 实验一 常用仪器与门逻辑电路实验
  6. tcp协议通过什么来区分不同服务器,tcp协议通过什么来区分不同的连接
  7. 【docker概念和实践 1】 基本概念和组成原理
  8. 实模式、保护模式和虚拟8086模式
  9. python获取pdf页数_Python读取pdf页面的一部分
  10. Matlab nargin