字符串
14
求一堆字符串的最长公共前缀
线性表
11. Container With Most Water
15
3Sum
125
判断一个字符串是否为回文
168
10进制转26进制
位运算
136
找唯一的单身狗
137
类似于上一题,一个数组中的元素,除了一个元素外,都是三个三个的重复出现,要求这个元素的值。
191
896
判断数组是否为单调的
链表
141
判断一个链表是否有环。
142
如果一个链表有环,返回这个链表的环的入口。
143
把一个 L0→L1→…→Ln-1→Ln 的链表变成 L0→Ln→L1→Ln-1→L2→Ln-2
146
实现 LRU
147
按照顺序构建链表
148
对链表进行排序
876
找链表的中间位置
917
双指针问题
925
双指针问题
栈
225. Implement Stack using Queues :stack:queues:
使用队列实现堆栈
队列
树
二叉树
98
判断一棵树是否为二叉搜索树
99
恢复二叉搜索树
100. Same Tree
判断两颗二叉树是否相同。
101. Symmetric Tree
判断一颗二叉树是否是对称的。
102. Binary Tree Level Order Traversal
层次遍历二叉树。
103. Binary Tree Zigzag Level Order Traversal
层次遍历二叉树,但是是蛇形的。
104. Maximum Depth of Binary Tree
求一颗二叉树的最大深度。几乎一样的题目还有 111. Minimum Depth of Binary Tree
105. Construct Binary Tree from Preorder and Inorder Traversal
根据先序遍历和中序遍历的结果构建二叉树。
106. Construct Binary Tree from Inorder and Postorder Traversal
根据中序遍历和后续遍历的结果构建二叉树。
107. Binary Tree Level Order Traversal II
层次遍历,返回结果是从最下面一层到最上面一层。
108. Convert Sorted Array to Binary Search Tree
把一个递增数组转换成二叉搜索树。
109. Convert Sorted List to Binary Search Tree
把一个递增链表转换成二叉搜索树。跟上面那道题类似,不过需要用快慢指针找到中间的节点。
110. Balanced Binary Tree
判断一棵树是不是平衡二叉树
113. Path Sum II
在一颗二叉树中找出所有节点值的和等于 sum 的路径。
124
129
144
先序遍历二叉树
144
后序遍历二叉树
173
实现一个二叉搜索树遍历器
199
bfs
501
求二叉搜索树的众数
872
先序,中序,后序遍历都可以。
889
根据前序遍历和后序遍历结果构建二叉树
897
中序遍历二叉树
993
判断两个子树是否为堂兄弟节点
1008. Construct Binary Search Tree from Preorder Traversal
根据先序遍历的结果构建二叉树。
1022. Sum of Root To Leaf Binary Numbers
求所有根节点到叶子节点的路径之和。
线段树
427. Construct Quad Tree
堆
leetcode-215-Kth-Largest-Element-in-an-Array
leetcode-973-K-Closest-Points-to-Origin
leetcode-1046-Last-Stone-Weight
最大堆的应用
二叉堆,四叉堆
堆可以用来实现 定时器
图
dfs
841. Keys and Rooms
排序
归并排序
TODO
暴力枚举
深度优先算法
广度优先算法
分治法
leetcode-23-Merge-k-Sorted-Lists
leetcode-169-Majority-Element
贪心法
122
哈希表
893
根据字符串的字符组成进行分组
890
884
找 uncommon word
动态规划
leetcode-53-Maximum-Subarray
121
139
198
maxv[i] = max(maxv[i-2]+nums[i], maxv[i-1]);