面试题02.07.链表相交
面试题02.07链表相交
public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode headB) {ListNode curA = headA;ListNode curB = headB;int lenA = 0, lenB = 0;while(curA != null){//求链表A的长度lenA++;curA = curA.next;}while(curB != null){//求链表B的长度lenB++;curB = curB.next;}curA = headA;curB = headB;// 让curA为最长链表的头,lenA为其长度if(lenB > lenA){//1. swap(lenA,lenB)int tmplen = lenA;lenA = lenB;lenB = tmplen;//2. swap(curA,curB)ListNode tmpNode = curA;curA = curB;curB = tmpNode;}// 求长度差int gap = lenA - lenB;// 让curA和curB在同一起点上(末尾位置对齐)while(gap-- > 0){curA = curA.next;}// 遍历curA和curB,遇到相同则直接返回while(curA != null){if(curA == curB){return curA;}curA = curA.next;curB = curB.next;}return null;}
}
面试题02.07.链表相交相关推荐
- [LeetCode] 面试题 02.07. 链表相交
LeetCode 面试题 02.07.链表相交 思路 题目的本意其实就是求两个链表相交处结点的指针,并返回该结点指针 步骤: Step1.分别用两个指针curA.curB指向两个链表A.B的头结点 S ...
- LeetCode-链表-面试题 02.07. 链表相交
描述 02.07. 链表相交 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表没有交点,返回 null . 图示两个链表在节点 c1 开始相交 ...
- 面试题 02.07. 链表相交
给定两个(单向)链表,判定它们是否相交并返回交点.请注意相交的定义基于节点的引用,而不是基于节点的值.换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表 ...
- leetcode面试题 02.07. 链表相交
一:题目 二:思路 1.这道题我们是需要找到一个结点,并且从这个结点往后的结点都相等 2.我们需要将两个链表 右对齐 3.然后将长链表的指针移动到和短链表头结点相同的位置 4.接下来就是比较指针,当一 ...
- 力扣(707.面试题02.07)补9.16
707.设计链表 可以,真的是一个工程类的题目,处处要考虑细节,其实20分钟基本能写好,但是改各种细节又要40分钟,就是各种bug,总共花了一个小时才正确. class MyLinkedList { ...
- 面试题 02.05. 链表求和
面试题 02.05. 链表求和 给定两个用链表表示的整数,每个节点包含一个数位. 这些数位是反向存放的,也就是个位排在链表首部. 编写函数对这两个整数求和,并用链表形式返回结果. 示例: 输入:(7 ...
- 代码随想录(day04)-LeetCode:24、19、面试题02.07、142
代码随想录:dayo4 1. [24]两两交换链表中的节点 虚拟头结点实现 递归实现 2.[19]**删除链表的倒数第N个节点** 双指针算法 3. 面试题[02.07]:链表相交 4.[142]环形 ...
- 程序员面试金典 - 面试题 02.05. 链表求和
1. 题目 给定两个用链表表示的整数,每个节点包含一个数位. 这些数位是反向存放的,也就是个位排在链表首部. 编写函数对这两个整数求和,并用链表形式返回结果. 示例: 输入:(7 -> 1 -& ...
- LeetCode Algorithm 面试题 02.06. 回文链表
面试题 02.06. 回文链表 Ideas 这题当时左神也讲过,用的是快慢指针,不过感觉好麻烦,不如直接遍历链表,把元素值存到数组,然后判断是不是回文数组就OK了. Code C++ class So ...
最新文章
- UICollectionView的headerView、footerView使用以及与UITableView加载headerView、footerView的区别...
- Shall的变量功能
- Python subprocess模块
- tomcat7.0.8的高级应用-apr1.4.2安装
- vectorobserver obs是做什么_带着色碳纤维主体的OBS雪佛兰皮卡
- c++Insertion Sort插入排序的实现算法(附完整源码)
- Hadoop 集群的三种方式
- 2018年“百家姓”出炉,新生儿爆款名字是这些......
- 斗地主AI算法——第十章の被动出牌(4)
- MySQL实验7存储过程_mySQL(7)-存储过程
- 几何画板200个经典课件_2020国学起名:7部国学经典,200个大气独特的好名字
- LiteIDE调试工具delve
- 神经损伤怎么康复好 成都顾连康复医院专科专治
- 计算机显示u盘隐藏分区,如何查看及删除u盘的隐藏分区
- 希尔伯特变换求包络原理
- 离散数学-数理逻辑知识整理(修改版)
- Windows10永久关闭Windows Defender
- 攻击重放技术以及什么是重放攻击?
- 对比了论坛,博客和微博
- 路由 OSPF常见4种网络类型MA、P2P、NBMA、P2MP、OSPF报头字段信息简介。
热门文章
- LVS负载均衡DR模式+keepalived
- PDF打印机常见问题汇总
- 淘宝店铺类目怎么删除
- Struts,Spring,Hibernate面试题总结
- 【To Understand!】LeetCode 117. Populating Next Right Pointers in Each Node II
- Anaconda, conda, pyenv, virtualenv的区别
- vsftpd搭建及配置参数
- HTML5项目笔记8:使用HTML5 的跨域通信机制进行数据同步
- 《Android开发从零开始》——31.模拟Http请求
- Mysql为什么多个大版本并行发布的个人理解