解法一
思想:
每轮迭代,从原链表中提取结点srcFirst,并将它插入到逆链表的开头。
过程中一直保证
srcFirst是指向原链表中所有剩余结点的首结点,
destFirst是指向结果链表的首结点
next是指向原链表中所有剩余结点的第二个结点。用于保存数据
代码实现
public Node reverse(Node node){
Node srcFirst = node; // 原链表的首结点
Node destFirst = null; // 逆链表的首结点
while(srcFirst != null) {
Node next = srcFirst.next;
srcFirst.next = destFirst;
destFirst = srcFirst;
srcFirst = next;
}
return destFirst;
}
解法二
算了,不提供了,贪多嚼不烂。能读就行