【力扣hot100题】(121)反转链表

很简单,先设置头结点指向head作为头部标记(因为头结点会不断变化),设置循环遍历node,标记目前在反转的元素(node前元素均已反转,并且最后一个元素即node前一个为head)

cpp 复制代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        if(head==NULL||head->next==NULL) return head;
        ListNode* h=new ListNode(0,head);
        ListNode* node=head->next;
        while(node!=NULL){
            head->next=node->next;
            node->next=h->next;
            h->next=node;
            node=head->next;
        }
        return h->next;
    }
};
相关推荐
ywl4708120871 小时前
数据结构之链表反转算法
数据结构·算法·链表
牧子川2 小时前
019-JSON-Schema-自动生成
算法·大模型·格式化输出·tools
lhjcsubupt2 小时前
第二十二篇 从随机过程到IMU噪声模型
算法·机器学习·概率论
神仙别闹2 小时前
基于C语言处理机调度算法的实现
服务器·c语言·算法
Brilliantwxx2 小时前
【算法从零到千】【16-23】 二分算法
数据结构·算法
8Qi88 小时前
回文子串(Palindromic Substrings)—— 题解
算法·leetcode·职场和发展·动态规划
小宋加油啊12 小时前
机械臂抓取物体 PVN3D算法调研学习
学习·算法·3d
lqqjuly12 小时前
前沿算法深度解析(一)
算法
小欣加油13 小时前
leetcode1926 迷宫中离入口最近的出口
数据结构·c++·算法·leetcode·职场和发展