输入一个链表,从尾到头打印链表每个节点的值。
这个题目我本地调试了一下 分享一下 又好的可以补充
链表我就不多说了 单链表 双链表 循环链表 看个图吧 今天就这个题目说下 就不对数据结构链表展开了利用数组
我看到这个题目时候第一想法是数组 搞多了这种反转的 数组是第一个想到的来看下解法function CreateNode(value) { this.value = value this.next = null } //搞了一个链表 CreateNode.prototype.setNext = function(node) { this.next = node return node } CreateNode.prototype.reverse = function() { var arr = [] //这里目的是把链表的value push到数组 var data = this while(data) { arr.push(data.value) //这里可以直接arr.unshift(data.value) data = data.next } return arr } var one = new CreateNode(1) //CreateNode {value: 1, next: null} var two = new CreateNode(2) var three = new CreateNode(3) one.setNext(two).setNext(three) // CreateNode {value: 1, next: CreateNode} 这里已经搞了一个链表 console.log(one.reverse().reverse()) // [3,2,1]复制代码
上面是首先想到的解法 将单链表的节点值push 到数组 有好的想法 可以补充