找公共结点
题目如下
这里的重点是题目上的理解。这里的公共结点是一个重点,它的意思是,它们是完完全全的同一一个东西。 而不只是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;
}
}