一、单链表反转
我立马想到的解决思路:=》用一个堆栈、或者数组集合类的过一遍存储,倒叙重排
百度后思路:=》非递归实现
=》递归实现
二、实现
//print reverse use the not recursion
public static Chain reverseMethod(Chain head) {
Chain pre = null;
Chain cur = head;
Chain nex=null;
while (cur!= null) {
nex= cur.Next;
cur.Next = pre;
pre = cur;
cur = nex;
}
return pre;
}
//print reverse use the recursion
public static Chain recursionReverse(Chain head) {
if(head==null||head.Next==null)return head;
Chain temp = recursionReverse(head.Next);
head.Next.Next = head;
head.Next = null;
return temp;
}