ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

Á½¸öµ¥Á´±íÏཻ£¬¼ÆËãÏཻµã
2014-11-24 02:23:03 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:926´Î
Tags£ºÁ½¸ö µ¥Á´±í Ïཻ ¼ÆËã ½»µã

·Ö±ð±éÀúÁ½¸öµ¥Á´±í£¬¼ÆËã³öËüÃǵij¤¶ÈMºÍN£¬¼ÙÉèM±ÈN´ó£¬Ôò³¤¶ÈMµÄÁ´±íÏÈÇ°½øM-N£¬È»ºóÁ½¸öÁ´±íͬʱÒÔ²½³¤1Ç°½ø£¬Ç°½øµÄͬʱ±È½Ïµ±Ç°µÄÔªËØ£¬Èç¹ûÏàͬ£¬Ôò±ØÊǽ»µã¡£
public static Link GetIntersect(Link head1, Link head2)
{
Link curr1 = head1;
Link curr2 = head2;
int M = 0, N = 0;
//goto the end of the link1
while (curr1.Next != null)
{
curr1 = curr1.Next;
M++;
}
//goto the end of the link2
while (curr2.Next != null)
{
curr2 = curr2.Next;
N++;
}
//return to the begining of the link
curr1 = head1;
curr2 = head2;
if (M > N)
{
for (int i = 0; i < M ¨C N; i++)
curr1 = curr1.Next;
}
else if (M < N)
{
for (int i = 0; i < N ¨C M; i++)
curr2 = curr2.Next;
}
while (curr1.Next != null)
{
if (curr1 == curr2)
{
return curr1;
}
curr1 = curr1.Next;
curr2 = curr2.Next;
}
return null;
}


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºOracleÊý¾Ý¿âÃæÊÔÌâ»ã×Ü ÏÂһƪ£º»ªÎªÃæÊÔÐĵÃ

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿