thank you

解决方案 »

  1.   

    就用一个变量请你试试看head头指针,没有头结点
      

  2.   

    最少的要一个head头指针,一个循环控制指针。
    每次从头指针开始,移动循环指针到链表尾第二个元素(判断p->next->next==null)。然后再交换节点。
      

  3.   

    我的看法是是除去头指针(任何情况下都会存在),需要一个备份指针就够了. O(1)是说空间不随链表大小发生变化,并不是说不用辅助变量,或是只能用一个.我的做法是:
    1) HEAD都指向第一个结点,PTR指向NULL;
    2) 判断HEAD的NEXT是否为NULL,如是单结点则结束;如非HEAD.NEXT:=PTR.
    3) 如非,HEAD.NEXT:=PTR,
    4) PTR:=HEAD;HEAD:=HEAD->NEXT.
    5) 重复2).
    是否可行,请讨论.