leetcode

基本的数据结构

链表

反转链表 reverse linked list

倒序第k个元素

k个一次反转

两个有序链表的合并

k个有序链表的合并

数组

##最小栈(min stack) ##两个栈变成队列

队列

优先队列

栈转换成队列

二叉树(binary tree)

  • 1 preOrder
  • 2 inOrder
  • 3 postOrder

平衡二叉树(balanced binary tree)

二叉搜索树(binary search tree)

平衡二叉搜索树(balanced binary tree)

算法

二分查找

二分查找变种

  • 1 查找匹配的第一个
  • 2 查找匹配的最后一个

排序

  • 1 快速排序(quick sort)
  • 2 归并排序(merge sort)
  • 3 堆排序(Top K问题)

双指针(滑动窗口)

快慢指针

Hash表

深度优先遍历(DFS)

广度优先遍历 (BFS)

位运算

回溯算法(backtracking)

动态规划(dynamic programming)

-算法面试容易考的知识点: 1.数组
2.字符串 3.链表 (快慢指针) 4.树 (BFS、DFS) 像数组和字符串常考的知识点:双指针、动态、Hash、贪心、动态规划