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

LeetCode160 相交链表

前言

题目: 160. 相交链表
文档: 代码随想录——链表相交
编程语言: C++
解题状态: 没思路…

思路

依旧是双指针法,很巧妙的方法,有点想不出来。

代码

先将两个链表末端对齐,然后两个指针齐头并进,容易判断出是否相交。

/*** 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;int lenB = 0;while (curA) {++lenA;curA = curA -> next;}while (curB) {++lenB;curB = curB -> next;}curA = headA;curB = headB;if (lenB > lenA) {swap(lenA, lenB);swap(curA, curB);}int gap = lenA - lenB;while (gap--) {curA = curA -> next;}while (curA) {if (curA == curB) {return curA;}curA = curA -> next;curB = curB -> next;}return NULL;}
};
  • 时间复杂度: O ( m + n ) O(m + n) O(m+n)
  • 空间复杂度: O ( 1 ) O(1) O(1)
http://www.lryc.cn/news/407630.html

相关文章:

  • 高性能响应式UI部件DevExtreme v24.1.4全新发布
  • Python实现Java mybatis-plus 产生的SQL自动化测试SQL速度和判断SQL是否走索引
  • UDP的报文结构及其注意事项
  • MySQL深度分页问题深度解析与解决方案
  • C#类型基础Part1-值类型与引用类型
  • 被上市公司预判的EPS增速分析
  • 快速入门了解Ajax
  • FPGA开发——呼吸灯的设计
  • 【数据结构】二叉树链式结构——感受递归的暴力美学
  • 开始尝试从0写一个项目--后端(三)
  • 2024年7月解决Docker拉取镜像失败的实用方案,亲测有效
  • 基于内容的音乐推荐网站/基于ssm的音乐推荐系统/基于协同过滤推荐的音乐网站/基于vue的音乐平台
  • STM32智能工业监控系统教程
  • WEB渗透Web突破篇-SQL注入(MYSQL)
  • PDF解锁网站
  • 【Redis】主从复制分析-基础
  • Transformer自然语言处理实战pdf阅读
  • Python 高阶语法
  • 开始尝试从0写一个项目--前端(三)
  • Visual stdio code 运行C项目环境搭建
  • 免杀笔记 -->API的整理Shellcode加密(过DeFender)
  • Stable Diffusion 使用详解(3)---- ControlNet
  • pythonGame-实现简单的贪食蛇游戏
  • 2024年软件系统与信息处理国际会议(ICSSIP 2024)即将召开!
  • 使用vscode连接开发机进行python debug
  • (家用)汽车充电桩项目总结分析
  • JMeter接口测试:测试中奖概率!
  • 生成式人工智能之路,从马尔可夫链到生成对抗网络
  • qt做的分页控件
  • MySQL with recursive 用法浅析