放假没事刷几道leetcode,一些常见典型题的答案和解析。
平时python用的比较多,但分析复杂度的时候用python编程不方便,所以刷题的时候用了c++
C++基础
数组&链表
https://www.yuque.com/yahei/hey-yahei/leetcode-array_linkedlist
- 206反转链表
- 024两两交换链表中的节点
- 025K个一组翻转列表
- 141环形链表
- 142环形链表-找到入口节点
栈&队列
https://www.yuque.com/yahei/hey-yahei/leetcode-stack_queue
- 844比较含退格的字符串
- 232用栈实现队列
- 225用队列实现栈
- 020有效括号
- 703数据流中的第k大元素
- 239滑动窗口最大值
哈希表
https://www.yuque.com/yahei/hey-yahei/leetcode-hashtable
- 242有效的字母异位词
- 438找到字符串中所有字母异位词
- 049字母异位词分组
- 001两数之和
- 015三数之和
- 018四数之和
树
https://www.yuque.com/yahei/hey-yahei/leetcode-tree
- 144二叉树的前序遍历
- 094二叉树的中序遍历
- 145二叉树的后序遍历
- 102二叉树的层次遍历
- 098验证二叉搜索树
- 236二叉树的最近公共祖先
- 235二叉搜索树的最近公共祖先
- "104二叉树的最大深度
- "111二叉树的最小深度
分治&递归&回溯
https://www.yuque.com/yahei/hey-yahei/leetcode-recursion_divide_conquer
- 050Pow(x,n)
- 169多数元素
- 053最大子序列和
- "022括号生成
- "051N皇后
- "052N皇后II
- "036有效数独
- "037解数独
- "079单词搜索
- "212单词搜索II
贪心算法
https://www.yuque.com/yahei/hey-yahei/leetcode-greedy
- 122买卖股票的最佳时机II
- 860柠檬水找零
- 455分发饼干
- 874模拟行走机器人
深度优先搜索&广度优先搜索&剪枝
https://www.yuque.com/yahei/hey-yahei/leetcode-dfs_bfs
- 104二叉树的最大深度
- 111二叉树的最小深度
- 022括号生成
- "144二叉树的前序遍历
- "094二叉树的中序遍历
- "145二叉树的后序遍历
- "102二叉树的层次遍历
- 051N皇后
- 052N皇后II
- 036有效数独
- 037解数独
- "079单词搜索
- "212单词搜索II
- "200岛屿数量
二分查找
https://www.yuque.com/yahei/hey-yahei/leetcode-binary_search
- 704二分查找
- 034在排序数组中查找元素的第一个和最后一个位置
- 069x的平方根
- 367有效的完全平方根
字典树
https://www.yuque.com/yahei/hey-yahei/leetcode-trie
- 208实现Trie前缀树
- 079单词搜索
- 212单词搜索II
位运算
https://www.yuque.com/yahei/hey-yahei/leetcode-bitwise_operations
- 191位1的个数
- 231二的幂
- 338比特位计数
- "051N皇后
- "037解数独
动态规划
https://www.yuque.com/yahei/hey-yahei/leetcode-dynamic_programming
- 070爬楼梯
- 120三角形最小路径和
- 152乘积最大子序列
- 021买卖股票的最佳时机
- 122买卖股票的最佳时机II
- 123买卖股票的最佳时机III
- 188买卖股票的最佳时机IV
- 309最佳买卖股票时机含冷冻期
- 714买卖股票的最佳时机含手续费
- 300最长上升子序列
- 322零钱兑换
- 072编辑距离
并查集
https://www.yuque.com/yahei/hey-yahei/leetcode-disjoint_set_union
- 200岛屿数量
- 547朋友圈