单链表的反转可以使用循环,也可以使用递归的方式
1.循环反转单链表
循环的方法中,使用pre指向前一个结点,cur指向当前结点,每次把cur->next指向pre即可。
代码:
class ListNode:
def __init__(self,x):
self.val=x;
self.next=None;
def nonrecurse(head): #循环的方法反转链表
if head is None or head.next is None:
关于单链表以及搜集的一些面试题关于单链表的面试题
链表是以节点的方式来存储
每个节点都包含一个data域和next域,data域用来存放数据,next域用来指向下一个节点
链表的各个节点不一定是连续存储的
先来看普通链表的代码是如何创建的
首先需要一个节点类,命名为Node,这里的属性我设置的为public,如果有序要也可以设置为private,并提供响应的getter和setter方法即可:
class Node{//节点类
public int node;//存放节点的序号,你也可