function reverse(list){ 2 var p=list.head,q=null; 3 while(p.next!==null){ 4 q=p.next; 5 p.next=q.next; 6 q.next=list.head.next; 7 list.head.next=q; 8 } 9 return list; 10 }
定義兩個指針P,Q;
Q是P的next;
貫穿的思想是將P後面的一個插入到Head以後,後面的鏈接起來;
前提是P的後一個非空數組
最笨的方法:將其存儲爲數組,數組逆序再存爲鏈表,浪費空間和時間指針