【算法系列 - 剑指Offer】从尾到头打印链表
AwesomeDevin opened this issue · comments
题目
输入一个链表,返回一个反序的链表。
思路
使用generateLinkList生成链表linklist
,对链表linklist
进行reverse
JS实现
class ListNode{
constructor(nextIndex,val){
this.nextIndex = nextIndex
this.val = val
}
}
function generateLinkList(length){ //generate linklist
var list = []
for(var i=0;i<length;i++)
{
// console.log(i)
var listnode = new ListNode(i+1,i)
list.push(listnode)
// console.log(listnode)
}
return list
}
const linklist = generateLinkList(10)
function main(linkList){ //reverse linklist
const result = []
for(var index=0;index<linkList.length;index++)
{
// linkList[index].val
var listnode = new ListNode(linkList[index].nextIndex,linkList[linkList.length-index-1].val)
result.push(listnode)
}
return result
}
console.log(main(linklist))
/*function ListNode(x){
this.val = x;
this.next = null;
}*/
function printListFromTailToHead(head)
{
if(!head)
{
return 0
}
var res = []
while(head)
{
res.push(head.val)
head = head.next
}
return res.reverse()
}