rn 1; 22. } 23. } 24. return 0 25.} structlisttype{intdata;structlisttype*next;}list;intfind_cicle(list*head){list*pFast=head;list*pSlow=head;if(pFast==NULL){return-1;}while(pFast&&pFast->next){pFast=pFast->next->next;pSlow=pSlow->next;if(pFast==pSlow){return1;}}return0}调用函数返回值为1时,表示单向链表有环;调用函数返回值为-1时,表示测试的单向链表为空;调用函数返回值为0时,表示单向链表无环;2、请用C语言实现字符串翻转1.char* strrev(char* s) 2.{ 3. /* h指向s的头部 */ 4. char* h = s; 5. char* t = s; 6. char ch; 7. 8. /* t指向s的尾部 */ 9. while(*t++){}; 10. t--; /* 与t++抵消 */ 11. t--; /* 回跳过结束符'\0' */ 12. 13. /* 当h和t未重合时,交换它们所指向的字符 */ 14. while(h < t) 15. { 16. ch = *h; 17. *h++ = *t; /* h向尾部移动 */ 18. *t-- = ch; /* t向头部移动 */ 19. } 20. 21. return(s); 22.} /9