MCPcopy
hub / github.com/HuberTRoy/leetCode / reverse

Function reverse

Array/ReverseNodesInk-Group.js:35–63  ·  view source on GitHub ↗
(nodes)

Source from the content-addressed store, hash-verified

33 }
34
35 function reverse(nodes) {
36 // 将nodes里的ListNode关系翻转
37 if (!nodes.length) {
38 return null
39 }
40
41 if (nodes.length === 1) {
42 return [nodes[0],null,null]
43 }
44
45 // 新开始的节点应为最后一个节点的下一个
46 let newStartNode = nodes[nodes.length - 1].next
47 // 最后一个节点是翻转前的第一个节点
48 let lastNode = nodes[0]
49
50 let rNodes = nodes.reverse()
51 // 翻转后的头节点是翻转后的最后一个节点。
52 let first = rNodes[0]
53 let indexF = first
54 for (let i of rNodes.slice(1)) {
55 i.next = null
56 indexF.next = i
57 indexF = i
58 }
59 // 返回新的头
60 // 和下次迭代应该开始新头,为原nodes[-1]的next
61 return [first, newStartNode, lastNode]
62
63 }
64
65 let first = getKNodes(head)
66

Callers 1

reverseKGroupFunction · 0.85

Calls 1

reverseMethod · 0.80

Tested by

no test coverage detected