本文共 702 字,大约阅读时间需要 2 分钟。
输入一个链表,反转链表后,输出链表的所有元素。
题目考察链表反转,但是挖坑不是反转本身,而是题目的描述再次不清晰:什么叫“反转链表后输出链表所有元素”?给的代码框架只有一个函数ReverseList
,返回值类型是ListNode*,输出不输出和我有什么关系?
class Solution{public: ListNode* ReverseList(ListNode* pHead){ if (pHead == NULL){ return NULL; } if (pHead->next == NULL) { return pHead; } ListNode* pBefore = pHead; ListNode* p = pHead->next; ListNode* pAfter = p->next; while (pAfter != NULL){ p->next = pBefore; pBefore = p; p = pAfter; pAfter = pAfter->next; } p->next = pBefore; pHead->next = NULL; //这句一定要加上,因为逆序后再遍历,需要判断出链表结束,也就是节点的next等于NULL return p; }};
转载地址:http://wjthl.baihongyu.com/