JS版剑指offer


介绍

用JavaScript刷完了剑指offer,故总结下每道题的难度、解决关键点,详细题解代码可以点链接进去细看。

关于JS刷题的技巧可以看我之前的这篇:

剑指offer的题目在牛客网上可以看:https://www.nowcoder.com/ta/coding-interviews

所有题目的代码已经上传到了github上:https://github.com/14glwu/FEInterviewBox/tree/master/%E5%89%91%E6%8C%87offer

目录

题目=》难易程度=》关键词

   简单  有顺序、左下角做起始点

   简单  正则

   简单  栈

   中等  画图、递归、注意下标

   简单  注意判断条件

   简单  二分法

   简单  动态规划

   简单  动态规划

   中等  类似斐波那契、数学分析

   简单偏难  类似斐波那契

   中等  位运算n=n&n-1  

  中等  数学分析、位运算

   简单  两个变量作为奇数和偶数的下标

   简单  双指针法

   简单  三个指针

   简单  递归

   简单偏难  注意判断条件、递归

   简单  递归

   中等偏难  注意判断条件、递归 || 模拟魔方法

   中等  辅助栈  

   中等 辅助栈 

  简单  广度遍历、队列

  中等  画图

  中等  深度遍历、递归

(25)复杂链表的复制   难  map保存 || N->N'得S->S‘

  中等偏难  递归、中序遍历

  难  回溯法 || 递归全排列法

  中等  partion法 || times变量变化法

   中等  partion法

  中等  找规律、动态规划、注意判断条件

   中等  位运算 || 数学分析

 简单偏难  改变排序规则

   难  动态规划、注意判断条件

   哈希表记录 

  难+  基于归并排序、临时数组

   简单  双指针法  

  简单偏难  二分法改造    

  简单  递归

  简单  递归

  简单  indexOf || map记录 || 异或

  中等  数学分析

   简单  双指针

  简单  裁剪拼接  

  简单  转数组,对每项反序

  中等  注意题目条件、位运算判断数字重复

  难  数学分析得出公式 || 画图按题目做、注意下标

  中等  位运算、递归

  中等  位运算

  中等  位运算

  中等  将值放到对应位置上

  中等偏上  借助中间变量存储后面的乘积

  难  注意判断条件、递归

  中等  正则

  中等  map记录 || indexOf法 

 中等  双指针法、数学分析

  中等  加头节点、注意多个重复

   中等  画图、分析各种情况

   中等  递归、对称遍历

   难  广度遍历、两个栈

   中等偏难  队列+两个记录变量

   中等  数组代表流、递归

   中等  中序遍历+计数变量

   中等  partion法 || 维持排序 || 排序链表法 || AVL树 || 最大堆和最小堆

   难  改变参考对象、双端队列、存下标

   中等  回溯法

   中等  回溯法