题解 | 反转链表

反转链表

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就是新头节点
    }
};

数据结构之链表 文章被收录于专栏

链表是数据结构中的重要内容,其编程问题围绕链表的特性(动态内存、指针关联、非连续存储等)展开,常见问题可归纳为以下几类,涵盖基础操作、算法技巧及边界场景处理: 一、基础操作类 二、查找与定位类 三、反转与逆序类 四、环相关问题 五、合并与拼接类 六、相交与公共节点类 七、去重与筛选类 八、排序类 九、特殊结构链表问题 十、边界与细节处理

全部评论

相关推荐

好奇的伊登准备进厂:找了两个多月沟通六千多,不到十个面试至今仍未找到实习,看完你还想坚持下去吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务