递归法----我不理解,但我大受震撼
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*
* C语言声明定义全局变量请加上static,防止重复定义
*/
/**
*
* @param pHead ListNode类
* @return ListNode类
*/
struct ListNode* ReverseList(struct ListNode* pHead ) {
// write code here
if((pHead->next == NULL) | (pHead == NULL))
{
return pHead;
}
struct ListNode* newhead = ReverseList(pHead->next);
pHead->next->next = pHead;
pHead->next = NULL;
return newhead;
}