博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 206. Reverse Linked List
阅读量:4321 次
发布时间:2019-06-06

本文共 1062 字,大约阅读时间需要 3 分钟。

Reverse a singly linked list.

思路:递归,每次保存一下上一个节点用来构造反转后的链表。

非递归,需要多记录两个值.

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    ListNode* ans = nullptr;    void dfs(ListNode* p, ListNode* q) {        if (p == nullptr) {            ans = q;            return ;        }        dfs(p->next, p);        p->next = q;        if (q) q->next = nullptr;    }     ListNode* reverseList(ListNode* head) {        dfs(head, nullptr);        return ans;    }};
/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    ListNode* reverseList(ListNode* head) {        ListNode *prev = NULL;        ListNode *next = NULL;        while (head) {            next = head->next;            head->next = prev;            prev = head;            head = next;        }        return prev;    }};

转载于:https://www.cnblogs.com/pk28/p/8485033.html

你可能感兴趣的文章
Openssl rand命令
查看>>
HDU2825 Wireless Password 【AC自动机】【状压DP】
查看>>
BZOJ1015: [JSOI2008]星球大战starwar【并查集】【傻逼题】
查看>>
HUT-XXXX Strange display 容斥定理,线性规划
查看>>
mac修改用户名
查看>>
一道关于员工与部门查询的SQL笔试题
查看>>
Canvas基础
查看>>
[Hive - LanguageManual] Alter Table/Partition/Column
查看>>
可持久化数组
查看>>
去除IDEA报黄色/灰色的重复代码的下划波浪线
查看>>
Linux发送qq、网易邮件服务配置
查看>>
几道面试题
查看>>
【转】使用 WebGL 进行 3D 开发,第 1 部分: WebGL 简介
查看>>
js用正则表达式控制价格输入
查看>>
chromium浏览器开发系列第三篇:chromium源码目录结构
查看>>
java开发操作系统内核:由实模式进入保护模式之32位寻址
查看>>
第五讲:单例模式
查看>>
Python编程语言的起源
查看>>
Azure ARMTemplate模板,VM扩展命令
查看>>
在腾讯云上创建您的SQL Cluster(4)
查看>>