《剑指offer》JS实战

目录

  • 3.1 找出数组中重复的数字
  • 3.2 不修改数组找出重复的数字
  • 4.1 二维数组中的查找
  • 5.1 替换空格
  • 6.1 从尾到头打印链表
  • 7.1 重建二叉树
  • 8.1 二叉树的下一个节点
  • 9.1 用两个栈实现一个队列
  • 9.2 用两个队列实现一个栈
  • 10.1 斐波那契数列
  • 10.2 青蛙跳台阶问题
  • 11.1 旋转数组的最小数字
  • 12.1 矩阵中的路径
  • 13.1 机器人的运动范围
  • 14.1 剪绳子
  • 15.1 二进制中1的个数
  • 16.1 数值的整数次方
  • 17.1 打印从1到最大的n位数
  • 18.1 删除链表的节点
  • 18.2 删除链表中重复的节点
  • 19.1 正则表达式匹配
  • 20.1 表示数值的字符串
  • 21.1 调整数组顺序使奇数位于偶数前面
  • 22.1 链表中倒数第k个节点
  • 22.2 链表的中间节点
  • 23.1 链表中环的入口节点
  • 24.1 翻转链表
  • 25.1 合并两个排序的链表
  • 26.1 树的子结构
  • 27.1 二叉树的镜像
  • 28.1 对称二叉树
  • 29.1 顺时针打印矩阵
  • 30.1 包含min函数的栈
  • 31.1 栈的压入、弹出序列
  • 32.1 从上到下打印二叉树(层序遍历)
  • 32.2 分行从上到下打印二叉树
  • 32.3 之字形打印二叉树
  • 33.1 二叉搜索(查找)树的后序遍历序列
  • 34.1 二叉树中和为某一值的路径
  • 35.1 复杂链表的复制
  • 36.1 二叉搜索树与双向链表
  • 37.1 序列化二叉树
  • 38.1 字符串的排列
  • 39.1 数组中出现次数超过一半的数字
  • 40.1 最小的K个数
  • 41.1 数据流中的中位数
  • 42.1 连续数组的最大和
  • 43.1 1~n整数中1出现的次数
  • 44.1 数字序列中某一位的数字
  • 45.1 把数组排成最小的数
  • 46.1 把数字翻译成字符串
  • 47.1 礼物的最大价值
  • 48.1 最长不含重复字符的子字符串
  • 49.1 丑数
  • 50.1 第一个只出现一次的字符
  • 51.1 数组中的逆序对
  • 52.1 两个链表的第一个公共节点
  • 53.1 数字在排序数组中出现的次数
  • 58.1 翻转单词顺序
  • 58.2 左旋转字符串
  • 67.1 字符串转数字

注意事项

  1. 代码在牛客网上都通过了,基本上没问题
  2. 代码采用ES6的语法
  3. 代码可能不是最优的解法
  4. 可能存在些许纰漏