前端常见的手写算法问题
Posted 小葱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端常见的手写算法问题相关的知识,希望对你有一定的参考价值。
一 单链表反转
1 迭代
function reverseLink (link) {
if (!link.head || !link.head.next) {
return link
} else {
let current = link.head
let pre = null
while(current) {
const next = current.next
current.next = pre
pre = current
current = next
}
link.head = pre
}
}
2 递归
function reverseLink (link) {
const head = link.head
if (!head || !head.next) {
link.head = head
return link
} else {
link.head = head.next
reverseLink(link)
head.next.next = head
head.next = null
}
}
链表中环的检测
两个有序的链表合并
删除链表倒数第 n 个结点
求链表的中间结点
以上是关于前端常见的手写算法问题的主要内容,如果未能解决你的问题,请参考以下文章