题目:
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
示例 1:
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]
示例 2:
输入:head = [1,2]
输出:[2,1]
示例 3:
输入:head = []
输出:[]
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/reverse-linked-list
我的方法比较简单,并没有使用栈。与
LeetCode#21. 合并两个有序链表(Python)_如风Zhhh的博客-CSDN博客
类似。都是先创建一个列表,储存原先链表中的元素,然后再创建一个新的链表,再依次创建节点,把节点添加到新的链表上。
代码如下:
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
val_list=list()
while head:
val_list.append(head.val)
head=head.next
put=ListNode()
start=put
for i in val_list[::-1]:
node=ListNode(i)
put.next=node
put=put.next
return start.next
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)