【Day 38】 反转链表系列
题目描述
- 206. 反转链表
- 92. 反转链表 II
- 25. K 个一组翻转链表
- 25 题 中“如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序“ 改为:”如果节点总数不是 k 的整数倍,那么请将最前面剩余的节点保持原有顺序“
我的回答
206.反转链表
解法一
时空复杂度
var reverseList = function (head) {
let [prev, curr] = [null, head]
while (curr) {
let temp = curr.next
curr.next = prev
prev = curr
curr = temp
}
return prev
};解法二
var reverseList = function (head) {
if (!head || !head.next) return head
let lastnode = head.next
let newHead = reverseList(head.next)
lastNode.next = head
head.next = null
return newHead
};