LeetCode 刷题【160. 相交链表】

160. 相交链表

自己做

解:快慢指针

java 复制代码
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        int len1 = 0;
        int len2 = 0;
        ListNode p = headA;
        ListNode q = headB;
        
        while(p != null){
            len1++;
            p = p.next;
        }

        while(q != null){
            len2++;
            q = q.next;
        }

        p = headA;
        q = headB;

        if(len1 < len2)
            for(int i = 0; i < len2 - len1; i++)
                q = q.next;
        else
            for(int i = 0; i < len1 - len2; i++)
                p = p.next;

        while(p != null && q != null && p != q){
            p = p.next;
            q = q.next;
        }        

        if(p == q)
            return p;
        else
            return null;
    }
}
相关推荐
Omics Pro21 分钟前
首个!外源天然产物综合性代谢图谱
数据库·人工智能·算法·机器学习·r语言
voidmort29 分钟前
3. 微调(Fine-tuning)与强化学习(RL)的核心思想
python·深度学习·算法
人道领域1 小时前
【LeetCode刷题日记】669.修剪二叉搜索树
开发语言·python·算法
QiLinkOS2 小时前
【从实验室到商业战场:发明专利如何重塑科技与企业的共生生态】
大数据·c语言·数据结构·c++·人工智能·单片机·算法
小白兔奶糖ovo3 小时前
【Leetcode】231. 2的幂
linux·算法·leetcode
xiaoxiaoxiaolll3 小时前
《Light: Science & Applications》合并BIC实现80倍阈值单模运行:超紧凑光子晶体激光器新突破
人工智能·算法·机器学习
Peter·Pan爱编程3 小时前
14. Lambda 表达式:随手可写的函数对象
c++·算法·ai编程
-To be number.wan3 小时前
算法日记 | 暴力枚举
学习·算法
s_w.h3 小时前
【 linux 】动静态库的制作
linux·运维·服务器·算法·bash
过期动态4 小时前
【LeetCode 热题 100】接雨水
java·数据结构·算法·leetcode·职场和发展