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

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

Problem:

Reverse a singly linked list.

A linked list can be reversed either iteratively or recursively. Could you implement both?

Summary:

翻转链表。

Analysis:

1. Iterative solution

1 /** 2  * Definition for singly-linked list. 3  * struct ListNode { 4  *     int val; 5  *     ListNode *next; 6  *     ListNode(int x) : val(x), next(NULL) {} 7  * }; 8  */ 9 class Solution {10 public:11     ListNode* reverseList(ListNode* head) {12         ListNode *pre = NULL;13         14         while (head != NULL) {15             ListNode *tmp = head->next;16             head->next = pre;17             pre = head;18             head = tmp;19         }20         21         return pre;22     }23 };

 2. Recursive solution

若链表为n1->n2->...->nk-1->nk->nk+1->...->nm->NULL

假设nk+1到nm的部分已翻转:n1->n2->...->nk-1->nk->nk+1<-...<-nm

我们若要使nk+1的next指针指向nk,则我们需要做的是:nk->next->next = nk

需要注意的是需要将n1的next指针指向NULL。

1 /** 2  * Definition for singly-linked list. 3  * struct ListNode { 4  *     int val; 5  *     ListNode *next; 6  *     ListNode(int x) : val(x), next(NULL) {} 7  * }; 8  */ 9 class Solution {10 public:11     ListNode* reverseList(ListNode* head) {12         if (head == NULL || head->next == NULL) {13             return head;14         }15         16         ListNode *tmp = reverseList(head->next);17         head->next->next = head;18         head->next = NULL;19         20         return tmp;21     }22 };

 

Reference: 

转载于:https://www.cnblogs.com/VickyWang/p/6012874.html

你可能感兴趣的文章
spring注解解释
查看>>
2017软考信息安全工程师通过了,立贴小庆贺下
查看>>
Linux下PHP扩展amqp安装
查看>>
RDD、DataFrame、DataSet、SQLContext,HiveContext
查看>>
exchange 与 AD拓扑 不可用
查看>>
C/C++ 通用 Makefile
查看>>
这次是Selenide测试自动发送博客
查看>>
记 2017年12月份的印度之行<1>
查看>>
iOS 9学习系列:打通 iOS 9 的通用链接(Universal Links)
查看>>
3 python中关于字符串更多的一些注意事项
查看>>
人生苦短我用python[0x0C] 小试tornado(websocket)
查看>>
VMware:vSphere 6.7(ESXI 6.5)安装步骤
查看>>
servlet3.0文件上传
查看>>
二层交换机 STP
查看>>
httpclientutils
查看>>
改写工具类
查看>>
docker的按装和一些简单配置
查看>>
phpStorm配置xdebug远程调试
查看>>
Office 365 轻松上手指南 - SharePoint Online (四)
查看>>
解决安装Apache24安装时443端口被占用方法
查看>>