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;
    }
}
相关推荐
sali-tec6 小时前
C# 基于halcon的视觉工作流-章66 四目匹配
开发语言·人工智能·数码相机·算法·计算机视觉·c#
小明说Java6 小时前
常见排序算法的实现
数据结构·算法·排序算法
行云流水20197 小时前
编程竞赛算法选择:理解时间复杂度提升解题效率
算法
smj2302_796826528 小时前
解决leetcode第3768题.固定长度子数组中的最小逆序对数目
python·算法·leetcode
cynicme9 小时前
力扣3531——统计被覆盖的建筑
算法·leetcode
core5129 小时前
深度解析DeepSeek-R1中GRPO强化学习算法
人工智能·算法·机器学习·deepseek·grpo
mit6.82410 小时前
计数if|
算法
a伊雪10 小时前
c++ 引用参数
c++·算法
圣保罗的大教堂10 小时前
leetcode 3531. 统计被覆盖的建筑 中等
leetcode