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

TOP

µ¥Á´±í½»»»ÈÎÒâÁ½¸öÔªËØ£¨²»°üÀ¨±íÍ·£©
2014-11-24 02:23:11 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:1250´Î
Tags£ºµ¥Á´±í ½»»» ÈÎÒâ Á½¸öÔªËØ °üÀ¨ ±íÍ·

ÏÈÒ»´Î±éÀúÕÒµ½ÕâÁ½¸öÔªËØcurr1ºÍcurr2£¬Í¬Ê±´æ´¢ÕâÁ½¸öÔªËصÄÇ°ÇýÔªËØpre1ºÍpre2¡£
È»ºó´ó»»Ñª
public static Link SwitchPoints(Link head, Link p, Link q)
{
if (p == head || q == head)
throw new Exception(¡°No exchange with head¡±);
if (p == q)
return head;
//find p and q in the link
Link curr = head;
Link curr1 = p;
Link curr2 = q;
Link pre1 = null;
Link pre2 = null;


int count = 0;
while (curr != null)
{
if (curr.Next == p)
{
pre1 = curr;
count++;
if (count == 2)
break;
}
else if (curr.Next == q)
{
pre2 = curr;
count++;
if (count == 2)
break;
}
curr = curr.Next;
}
curr = curr1.Next;
pre1.Next = curr2;
curr1.Next = curr2.Next;
pre2.Next = curr1;
curr2.Next = curr;
return head;
}
×¢ÒâÌØÀý£¬Èç¹ûÏàͬԪËØ£¬¾ÍûÓбØÒª½»»»£»Èç¹ûÓÐÒ»¸öÊDZíÍ·£¬¾Í²»½»»»¡£


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºC#±ÊÊÔÌâÃæÊÔÌâÉî¶ÈÏê½â ÏÂһƪ£ºexit£¨£©º¯ÊýºÍreturn Óï¾äÓÐʲô..

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

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