数据结构之-反向打印链表

  1. 通过数组或者栈保存元素来实现

  2. 翻转链表,再打印

reversePrint  = function(nodes){
 let prev= null;
 let next= null;
//  let cur = nodes
  while(nodes){
    next = nodes.next
    
    nodes.next = prev
    
    prev = nodes;
    
    nodes = next
  }
 return prev
}

var nodes = {
 val:1,
 next:{
   val:2,
   next:{
     val:3,
     next:null
   }
 }
}

var res = reversePrint(nodes)

console.log('res',JSON.stringify(res))
  1. 递归
reversePrint  = function(nodes){
 if(!nodes) return
 if(nodes.next !=null) reversePrint(nodes.next)
 console.log(nodes.val)
 
}

var nodes = {
 val:1,
 next:{
   val:2,
   next:{
     val:3,
     next:null
   }
 }
}

var res = reversePrint(nodes)
原文地址:https://www.cnblogs.com/johnzhu/p/14755182.html