====== 差别 ======
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
教程_算法_反转链表 [2021/09/14 11:57] admin |
教程_算法_反转链表 [2021/09/15 15:26] (当前版本) admin |
||
---|---|---|---|
行 1: | 行 1: | ||
- | < | + | |
- | [返回其他算法题](教程/ | + | [\< |
# 反转链表 | # 反转链表 | ||
输入一个链表,反转链表后,输出新链表的表头。 | 输入一个链表,反转链表后,输出新链表的表头。 | ||
行 17: | 行 17: | ||
## 代码实现 | ## 代码实现 | ||
```javascript | ```javascript | ||
- | function reverseList(list) { | + | function reverseList(pHead) { |
- | let pre = next = null, cur = list | + | let pre = next = null, cur = pHead |
while(cur) { | while(cur) { | ||
next = cur.next | next = cur.next | ||
行 29: | 行 29: | ||
``` | ``` | ||
+ | ## 原理 | ||
+ | ![原理](: | ||
## 测试 | ## 测试 | ||
```javascript | ```javascript | ||
- | < | + | |
- | + | let pre = next = null, cur = pHead | |
- | | + | |
- | let pre = next = null, cur = list | + | |
while(cur) { | while(cur) { | ||
next = cur.next | next = cur.next | ||
行 53: | 行 53: | ||
function createList(values) { | function createList(values) { | ||
- | | + | |
- | let head = new Node(values[0]), p = head | + | for (let i = 0; i < values.length; |
- | for (let i = 1; i < values.length; | + | |
p.next = new Node(values[i]) | p.next = new Node(values[i]) | ||
p = p.next | p = p.next | ||
} | } | ||
- | return | + | return |
} | } | ||
- | function showList(list) { | + | function showList(pHead) { |
- | let p = list | + | let p = pHead |
let arr = [] | let arr = [] | ||
while (p) { | while (p) { | ||
行 73: | 行 72: | ||
- | let list = createList([1, | + | let list = createList([1, |
showList(list) | showList(list) | ||
let list2 = reverseList(list) | let list2 = reverseList(list) | ||
showList(list2) | showList(list2) | ||
- | |||
- | |||
- | </ | ||
``` | ``` | ||
- | |||
- | </ |