题解 | 反转链表
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=295&tqId=23286&sourceUrl=%2Fexam%2Foj%3FquestionJobId%3D10%26subTabName%3Donline_coding_page
class Solution {
public:
ListNode* ReverseList(ListNode* head) {
ListNode* prev = nullptr;
ListNode* current = head;
while(current) {
ListNode* nextTemp = current->next; // 保存下一个节点
current->next = prev; // 反转指针
prev = current; // 移动prev
current = nextTemp; // 移动current
}
return prev; // 当current为null时,prev就是新头节点
}
};
数据结构之链表 文章被收录于专栏
链表是数据结构中的重要内容,其编程问题围绕链表的特性(动态内存、指针关联、非连续存储等)展开,常见问题可归纳为以下几类,涵盖基础操作、算法技巧及边界场景处理: 一、基础操作类 二、查找与定位类 三、反转与逆序类 四、环相关问题 五、合并与拼接类 六、相交与公共节点类 七、去重与筛选类 八、排序类 九、特殊结构链表问题 十、边界与细节处理