找公共结点

找公共结点

题目如下
在这里插入图片描述
这里的重点是题目上的理解。这里的公共结点是一个重点,它的意思是,它们是完完全全的同一一个东西。 而不只是val相同

在这里插入图片描述
我们可以画出两种情况,a更长或者b更长。但我们可以发现。不管哪种,都可以使用如下的两个while循环

然后我就写了两个while循环去做比较,思路如下,a逐步往下做循环,然后b每次循环一次后又从头开始,这就是一个暴力解法。实际上我看别人的题解,大多数都用了栈的


 class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}

public class Solution {
    public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {
        ListNode a=pHead1;
        ListNode b=pHead2;
        ListNode c=null;
        while(a!=null)
         {
            while(b!=null)
            {    
                if(a==b) 
                {    c=b;
                    break;
                }
                b=b.next;
            }
            if(a==b)
                {
                    break;
                }
            a=a.next;
            b=pHead2;
         }
        return c; 
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值