反转一个链表。循环算法
反转一个链表。循环算法。
 1 List reverse(List l)
List reverse(List l)
{
2 if(!l) return l;
  if(!l) return l;
3 list cur = l.next;
    list cur = l.next;
4 list pre = l;
  list pre = l;
5 list tmp;
  list tmp;
6 pre.next = null;
  pre.next = null;
7
 while ( cur )
while ( cur )
{
8 tmp = cur;
    tmp = cur;
9 cur = cur.next;
    cur = cur.next;
10 tmp.next = pre
    tmp.next = pre
11 pre = tmp;
    pre = tmp;
12 }
  }
13 return tmp;
  return tmp;
14 }
}
 List reverse(List l)
List reverse(List l){
2
 if(!l) return l;
  if(!l) return l;3
 list cur = l.next;
    list cur = l.next;4
 list pre = l;
  list pre = l;5
 list tmp;
  list tmp;6
 pre.next = null;
  pre.next = null;7

 while ( cur )
while ( cur ){
8
 tmp = cur;
    tmp = cur;9
 cur = cur.next;
    cur = cur.next;10
 tmp.next = pre
    tmp.next = pre11
 pre = tmp;
    pre = tmp;12
 }
  }13
 return tmp;
  return tmp;14
 }
} 
                    
                     
                    
                 
                    
                

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号