LeetCode题解-相交链表-Java

简介: 相交链表-Java

不多说,上代码,一看就懂。主要思路就是 从链表尾往链表头看

public class Solution {
   
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
   
        int countA=getCount(headA);
        int countB=getCount(headB);
        int gap=Math.abs(countA-countB);
        if (countA>countB){
   
            while (gap>0){
   
                headA=headA.next;
                gap--;
            }
        }else{
   
            while (gap>0){
   
                headB=headB.next;
                gap--;
            }
        }
        return getResult(headA,headB);
    }
    public int getCount(ListNode node){
   
        int count=0;
        while (node!=null){
   
            count++;
            node=node.next;
        }
        return count;
    }
    public ListNode getResult(ListNode nodeA,ListNode nodeB){
   
        while (nodeA!=null){
   
            if (nodeA==nodeB){
   
                return nodeA;
            }
            nodeA=nodeA.next;
            nodeB=nodeB.next;
        }
        return null;
    }
}
目录
相关文章
|
3月前
|
Java
java数据结构,双向链表的实现
文章介绍了双向链表的实现,包括数据结构定义、插入和删除操作的代码实现,以及双向链表的其他操作方法,并提供了完整的Java代码实现。
java数据结构,双向链表的实现
|
2月前
|
算法
❤️算法笔记❤️-(每日一刷-160、相交链表)
❤️算法笔记❤️-(每日一刷-160、相交链表)
18 1
|
2月前
|
存储 安全 Java
【用Java学习数据结构系列】探索顺序表和链表的无尽秘密(附带练习唔)pro
【用Java学习数据结构系列】探索顺序表和链表的无尽秘密(附带练习唔)pro
27 3
|
2月前
|
算法 Java
LeetCode(一)Java
LeetCode(一)Java
|
2月前
【数据结构】环形、相交、回文、分割、合并、反转链表
【数据结构】环形、相交、回文、分割、合并、反转链表
30 0
|
4月前
|
存储 Java
|
4月前
|
存储 Java 开发者
揭秘!HashMap底层结构大起底:从数组到链表,再到红黑树,Java性能优化的秘密武器!
【8月更文挑战第24天】HashMap是Java集合框架中的核心组件,以其高效的键值对存储和快速访问能力广受开发者欢迎。在JDK 1.8及以后版本中,HashMap采用了数组+链表+红黑树的混合结构,实现了高性能的同时解决了哈希冲突问题。数组作为基石确保了快速定位;链表则用于处理哈希冲突;而当链表长度达到一定阈值时,通过转换为红黑树进一步提升性能。此外,HashMap还具备动态扩容机制,当负载因子超过预设值时自动扩大容量并重新哈希,确保整体性能。通过对HashMap底层结构的深入了解,我们可以更好地利用其优势解决实际开发中的问题。
122 0
|
4月前
|
存储 Java
【Java集合类面试十】、HashMap中的循环链表是如何产生的?
在多线程环境下,HashMap在扩容时如果发生条件竞争,元素的插入顺序可能形成循环链表,导致死循环。
|
4月前
|
机器学习/深度学习
【刷题记录】相交链表
【刷题记录】相交链表