在单向链表中,若要遍历节点,必须从链表首节点开始逐个访问,所以反转链表时,必须要按照原链表节点顺序逐个操作。(即按照从节点A到节点D的顺序) 除了尾节点外,更改每个节点的next(指针成员)值之前,必须先用指针指向在原链表中该节点的下一个节点(比如:在更改节点A的next为NULL之前,必须用指针指向节点B,否则将丢失数...
想要反转一个单向链表,除了当前的 head 指针外,我们还另外需要两个辅助指针: preNode 用于保存上一个引用的指针 nextNode 用于保存下一个引用的指针 不管你使用什么编程语言,反转链表的公式都是一样的,主要分为以下四步: 将当前 head 引用的 next 引用传递给 nextNode 将当前 preNode 引用赋值给 head.next 实现...
我们可以创建一个简单的单向链表类。 classLinkedList:def__init__(self):self.head=None# 链表的头节点defappend(self,value):new_node=Node(value)# 创建一个新节点ifself.headisNone:self.head=new_node# 如果链表为空,新节点成为头节点else:current=self.headwhilecurrent.next:# 找到链表的最后一个节点cur...
思路一:递归 思路二:迭代 从头至尾,依次反转相邻节点指针