当前位置 : 主页 > 编程语言 > python >

LeetCode Algorithm 206. 反转链表

来源:互联网 收集:自由互联 发布时间:2022-06-18
​​206. 反 转 链表​​ Ideas 关于链表的题目其实画个图就很清晰了。 可以想象成两个部分,左边是已经完成翻 转 的链表,以pre为头结点,右边是还未翻转的链表,以cur为头结点,每


​​206. 反链表​​

Ideas

关于链表的题目其实画个图就很清晰了。

可以想象成两个部分,左边是已经完成翻的链表,以pre为头结点,右边是还未翻转的链表,以cur为头结点,每次获取cur的下一个结点item,然后将cur的next指向pre,再将cur设置为item,继续处理下一个结点。

LeetCode Algorithm 206. 反转链表_链表

Code

C++

class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode* cur = head;
ListNode* pre = nullptr;
while (cur) {
ListNode* item = cur->next;
cur->next = pre;
pre = cur;
cur = item;
}
return pre;
}
};

Python

class Solution:
def reverseList(self, head: ListNode) -> ListNode:
new_head = None
while head:
help_node = head.next
head.next = new_head
new_head = head
head = help_node
return new_head



上一篇:树莓派下安装Django环境
下一篇:没有了
网友评论