📅  最后修改于: 2023-12-03 15:26:03.401000             🧑  作者: Mango
UGC NET CS 2015 年六月 – II 中的问题 3 是一道关于链表的编程实现问题。要求输入一个链表,反转该链表并输出反转后的链表。本文将给出一个可行的解决方案。
本问题可以通过迭代实现链表的反转,具体步骤如下:
使用 Python 语言实现上述算法,可以得到如下代码片段:
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
# 创建一个空的链表作为反转后的输出
output = None
# 遍历原链表的每一个节点
while head:
# 创建一个新的节点,值为当前节点的值
new_node = ListNode(head.val)
# 将新节点插入到输出链表的头部
new_node.next = output
output = new_node
# 继续遍历下一个节点
head = head.next
# 返回反转后的输出链表
return output
以上就是本文对问题 3 的解决方案进行的介绍。通过使用迭代的方式,我们可以很方便地实现链表的反转,并且代码的实现也比较简洁明了。希望本文对您在编写链表相关程序时有所帮助。