题目描述
输入一个链表,反转链表后,输出新链表的表头
思路如下:
我们可以设置一个空结点temp,一个node节点指向head的next节点,
然后head指向空结点NULL,temp指向head,node变成下一个head节点,node指向此时head的下一个节点,如此循环即可。
代码如下:
(注意:这里的head是空节点,temp是node节点,名字取得不好,不要学我。。。)
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
/**
*
* @param pHead ListNode类
* @return ListNode类
*/
struct ListNode* ReverseList(struct ListNode* pHead ) {
// write code here
struct ListNode* head = NULL;
struct ListNode* temp ;
while(pHead)
{
temp = pHead->next;
pHead->next = head;
head = pHead;
pHead=temp;
}
return head;
}