mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 19:44:45 +08:00
添加206.反转链表javaScript版本
This commit is contained in:
@ -147,6 +147,61 @@ Python:
|
||||
|
||||
Go:
|
||||
|
||||
javaScript:
|
||||
|
||||
```js
|
||||
/**
|
||||
* @param {ListNode} head
|
||||
* @return {ListNode}
|
||||
*/
|
||||
|
||||
// 双指针:
|
||||
var reverseList = function(head) {
|
||||
if(!head || !head.next) return head;
|
||||
let temp = null, pre = null, cur = head;
|
||||
while(cur) {
|
||||
temp = cur.next;
|
||||
cur.next = pre;
|
||||
pre = cur;
|
||||
cur = temp;
|
||||
}
|
||||
// temp = cur = null;
|
||||
return pre;
|
||||
};
|
||||
|
||||
// 递归:
|
||||
var reverse = function(pre, head) {
|
||||
if(!head) return pre;
|
||||
const temp = head.next;
|
||||
head.next = pre;
|
||||
pre = head
|
||||
return reverse(pre, temp);
|
||||
}
|
||||
|
||||
var reverseList = function(head) {
|
||||
return reverse(null, head);
|
||||
};
|
||||
|
||||
// 递归2
|
||||
var reverse = function(head) {
|
||||
if(!head || !head.next) return head;
|
||||
// 从后往前翻
|
||||
const pre = reverse(head.next);
|
||||
head.next = pre.next;
|
||||
pre.next = head;
|
||||
return head;
|
||||
}
|
||||
|
||||
var reverseList = function(head) {
|
||||
let cur = head;
|
||||
while(cur && cur.next) {
|
||||
cur = cur.next;
|
||||
}
|
||||
reverse(head);
|
||||
return cur;
|
||||
};
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user