# 【Day 38】 反转链表系列
# 题目描述
- 206. 反转链表 (opens new window)
- 92. 反转链表 II (opens new window)
- 25. K 个一组翻转链表 (opens new window)
- 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
};