[LeetCode] 206. 反转链表
Posted powercai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode] 206. 反转链表相关的知识,希望对你有一定的参考价值。
题目链接:https://leetcode-cn.com/problems/reverse-linked-list/
题目描述:
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
思路:
迭代
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
prev = None
cur = head
while cur:
# 保持下一个节点
nxt = cur.next
# 翻转
cur.next = prev
# 进行下一个
prev = cur
cur = nxt
return prev
递归:
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
if not head or not head.next: return head
new_head = self.reverseList(head.next)
next_node = head.next
next_node.next = head
head.next = None
return new_head
以上是关于[LeetCode] 206. 反转链表的主要内容,如果未能解决你的问题,请参考以下文章
[JavaScript 刷题] 链表 - 反转链表, leetcode 206