思路:链表翻转的思路跟冒泡排序的思路很像,先看代码
//创建链表
function Node(data) {
this.data = data
this.next = null
}
let a = new Node(1)
let b = new Node(2)
let c = new Node(3)
a.next = b
b.next = c
//翻转列表
let newHead = null;
function reverseNode(head) {
while (head) {
let temp = head.next
head.next = newHead
newHead = head
head = temp
}
return newHead
}
reverseNode(a)
Tips
如果你感到思路混乱的话,建议举个例子比如1->2->3->null,
temp = 2
把2位置空
2的位置为1
1的位置为temp