Definition for singly-linked list.
int val;
struct ListNode *next;
}
就是要求是要运用函数来做,函数里面怎么写就很迷糊
输入:1->2->3->4->5->NULL
输出:5->4->3->2->1->NULL
逐个节点的内容进行交换,进行n-1遍就可以了
struct ListNode* reverseList(struct ListNode* head)
{
if(head == NULL)
return head;
struct ListNode *p = head;
struct ListNode *t = NULL;
while(head != t)
{
p = head;
struct ListNode *q = p->next;
while(q != t)
{
int v = p->val;
p->val = q->val;
q->val = v;
p = q;
q = q->next;
}
t = p;
}
return head;
}