共计 1469 个字符,预计需要花费 4 分钟才能阅读完成。
Hi,大家好,我是小庄。
明天打卡的算法题是 —— LeetCode 206. 反转链表
该题将采纳「迭代法」和「递归法」别离实现
话不多说,一起来学习吧~
一、Leetcode 题目
1、题目地址
点击查看 Leetcode 题目
2、具体题目
二、实现代码
1、思路:迭代法;
(1)具体代码
/** | |
* Definition for singly-linked list. | |
* function ListNode(val, next) {* this.val = (val===undefined ? 0 : val) | |
* this.next = (next===undefined ? null : next) | |
* } | |
*/ | |
/** | |
* @param {ListNode} head | |
* @return {ListNode} | |
*/ | |
/* | |
思路:迭代法;工夫复杂度:O(n);空间复杂度:O(1) | |
*/ | |
var reverseList = function(head) { | |
let pre = null; | |
let cur = head; | |
let next = head; | |
while(cur !== null) { | |
next = cur.next; | |
cur.next = pre; | |
pre = cur; | |
cur = next; | |
} | |
return pre; | |
}; |
(2)运行后果
2、办法:递归法;
(1)具体代码
/** | |
* Definition for singly-linked list. | |
* function ListNode(val, next) {* this.val = (val===undefined ? 0 : val) | |
* this.next = (next===undefined ? null : next) | |
* } | |
*/ | |
/** | |
* @param {ListNode} head | |
* @return {ListNode} | |
*/ | |
/* | |
思路:递归法实现;工夫复杂度:O(n); | |
空间复杂度:O(n); | |
*/ | |
var reverseList = function(head) {if(head === null || head.next === null) {return head;} | |
let res = reverseList(head.next); | |
head.next.next = head; | |
head.next = null; | |
return res; | |
}; |
(2)运行后果
3、补充局部
注:以下为手动构建残缺链表,并采纳迭代法实现。
function ListNode(val) { | |
this.val = val; | |
this.next = null; | |
} | |
function createList(n) { | |
let head = null; | |
while(n) {let tempNode = new ListNode(n); | |
tempNode.next = head; | |
head = tempNode; | |
n--; | |
} | |
return head; | |
} | |
let head = createList(3); | |
console.log(head);//1->2->3 | |
function getReverseList(head) { | |
let pre = null; | |
let cur = head; | |
let next = head; | |
while(cur !== null) { | |
next = cur.next; | |
cur.next = pre; | |
pre = cur; | |
cur = next; | |
} | |
return pre; | |
} | |
let res = getReverseList(head); | |
console.log(res);//3->2->1 |
三、解说视频
点击查看 B 站解说视频
四、补充局部
关注公众号:【深漂程序员小庄】:
内含丰盛的学习资源和面试教训(不限前端、java),还有学习交换群可加,并且还有各大厂大佬可一起交流学习,一起提高~增加小庄微信,回复【加群】,可退出互联网技术交换群。
本文由 mdnice 多平台公布
正文完