题目链接:反转链表
题意:
输入一个链表,反转链表后,输出新链表的表头
解题思路:
借助中间节点进行转换
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
ListNode* pre = NULL;
while(pHead != NULL){
ListNode* tmp = NULL;
tmp = pHead->next;
pHead->next = pre;
pre = pHead;
pHead = tmp;
}
return pre;
}
};
本文详细解析了链表反转算法的实现过程,通过定义中间节点并迭代修改链表指针,实现了链表的反转,最后返回新的链表头部。代码示例清晰,适合初学者理解和实践。
184

被折叠的 条评论
为什么被折叠?



