前端常见的手写算法问题

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 个结点
求链表的中间结点

以上是关于前端常见的手写算法问题的主要内容,如果未能解决你的问题,请参考以下文章

c++后台开发面试常见知识点总结算法手写

前端面试题及答案整理(转)

前端面试题及答案整理(转)

前端常见手写笔试题

前端算法及手写算法JavaScript

前端工程化2——常见脚手架工具介绍使用和工作原理分析(YeomanPlop)手写脚手架工具