单向链表反转-JS实现

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的后一个非空数组

最笨的方法:将其存储为数组,数组逆序再存为链表,浪费空间和时间指针

相关文章
相关标签/搜索