文章目录

  • 一、links
  • 二叉树的递归框架
  • 三、分类
  • 1.base
  • 排序&查找
  • 缓存机制
  • 动态规划
  • stack
  • String
  • number
  • matrix
  • array
  • 链表
  • 二叉树
  • 操作
  • List转数组|数组转List
  • 字符串转char|char转字符串

一、links

小抄codetop

二叉树的递归框架

L - 0124】e - 二叉树中的最大路径和L - 0105】m - 从前序与中序遍历序列构造二叉树L - 0099】h - 恢复二叉搜索树

三、分类

1.base

J02】Singleton模式

排序&查找

快排D-堆排序L - 0215】e - 数组中的第K个最大元素 ⭐⭐⭐40】-Heap-最小的k个数41】-Heap-数据流中的中位数D-归并排序D】重写TreeMap和sortL - 0704】- e - 二分查找⭐⭐⭐

缓存机制

– 哈希链表 --参看linkedhashmap源码L - 0146】e - x - LRU缓存机制 ⭐⭐⭐ – 哈希+平衡二叉树(堆)/双哈希表(散列表) –L - 0460】e - x - LFU缓存

动态规划

-------算法xc---------L - 0509】e - 斐波那契数L - 0322】e - x - 零钱兑换

L - 0046】e - x -全排列

-------lc------------------------L - 0003】m - 无重复字符的最长子串-J48 ⭐⭐⭐L - 0300】m - 最长递增子序列⭐⭐⭐L - 0005】e - 最长回文子串⭐L - 1143】e - 最长公共子序列⭐⭐L - 0718】- m - 最长重复子数组最长公共子串

L - 0070】- e - 爬楼梯⭐⭐J63】股票的最大利润

stack

L - 0155】- e - 最小栈⭐⭐⭐L - 0020】e -有效的括号

String

L - 0415】e - 字符串相加⭐⭐⭐L - 0058】e -左旋转字符串L - 0058】e -最后一个单词的长度 -√L - 1108】e -IP 地址无效化

number

L - 0015】m - 三数之和⭐⭐⭐L - 0053】e - 最大子序和⭐⭐⭐L - 0136】e - 只出现一次的数字(其他两次)⭐L - 0137】m- 只出现一次的数字 II (其他三次)L - 0260】m - 只出现一次的数字 III(两个,其他两次)L - 0009】e - 回文数L - 0204】e -计数质数 ※ – 取余取整 –L - 0007】e -x 整数反转L - 1281】e - 整数的各位积和之差

– 牛顿迭代 –L - 0069】e -x 的平方根 – 排序–L - 0179】e - x - 最大数⭐

– 位运算 –L - 1342】e - 将数字变成 0 的操作次数

matrix

L - 0054】m - x - 螺旋矩阵⭐⭐⭐L - 0200】m - x - 岛屿数量⭐⭐⭐L - 0074】m - 搜索二维矩阵⭐

array

L - 0121】e - 买卖股票的最佳时机⭐⭐⭐快慢指针L - 0088】- e - 合并两个有序数组⭐⭐⭐L - 0042】- h - 接雨水⭐⭐⭐L - 0033】- m - 搜索旋转排序数组⭐⭐⭐L - 0169】- e - 多数元素⭐⭐⭐L - 0026】e -x-删除排序数组中的重复项L - 1295】e - 统计位数为偶数的数字L - 1365】e -有多少小于当前数字的数字L - 1313】e - 解压缩编码列表L - 1389】e - 按既定顺序创建目标数组

链表

L - 0025】- h - x - K 个一组翻转链表⭐⭐⭐L - 0160】- e - 相交链表⭐⭐⭐L - 0142】- m -环形链表 II⭐⭐⭐L - 0141】- e - 环形链表⭐⭐⭐L - 0021】- e - x - 合并两个有序链表⭐L - 0023】- e - x - 合并K个升序链表⭐⭐⭐–分治L - 0234】- e - 回文链表⭐⭐⭐L - 0083】- e - 删除排序链表中的重复元素(不含包)⭐⭐L - 0082】- m - 删除排序链表中的重复元素 II(包含)⭐⭐L - 0138】- m - 复制带随机指针的链表⭐L - 0002】- e - 两数相加L - 0206】- e -反转链表L - 0237】- e - x - 删除链表中的节点⭐

二叉树

L - 0102】- m - 二叉树的层序遍历L - 0103】m - 二叉树的锯齿形层序遍历⭐⭐⭐L - 0236】m - x - 二叉树的最近公共祖先⭐⭐⭐L - 0094】- m - 二叉树的中序遍历⭐⭐⭐L - 0144】- m - 二叉树的前序遍历⭐⭐⭐L - 0199】- m - x - 二叉树的右视图⭐⭐⭐L - 0110】- e - 平衡二叉树⭐⭐⭐L - 0113】- m - 路径总和 II–dfs回溯⭐⭐⭐L - 0226】e - 翻转二叉树⭐⭐⭐

操作

List转数组|数组转List
  • List转换为Array: ArrayList list=new ArrayList(); String[] str = new String[list.size()]; list.toArray(str);
  • Array转List: String[] s = {“a”,“b”,“c”}; List list = java.util.Arrays.asList(s);
字符串转char|char转字符串
  • char转字符串 char[] s={‘a’,‘b’,‘c’}; String st=String.valueOf(s);|str = new String(chars);
  • 字符串转char String st=“AGCT”; char[] s=st.toCharArray();

并发