地址:点击打开链接
要求翻转单链表,我想的是新建一个栈,然后遍历两边链表,第一遍值入栈,第二遍逐个出栈赋值即可
答案:
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
if head == None or head.next == None:
return head
begin = head
after = head
valuesList = []
valuesList.append(begin.val)
while begin != None:
valuesList.append(begin.val)
begin = begin.next
while after != None:
after.val = valuesList.pop(0)
after = after.next
return head
本文详细阐述了如何使用栈结构翻转单链表,并提供了代码实现。通过两次遍历,第一遍将链表元素压入栈中,第二遍从栈中逐个弹出元素并赋值给链表节点,最终实现链表翻转。
545

被折叠的 条评论
为什么被折叠?



