LeetCode题库
2019年4月25日,毕业第二年,单点突破。
后台技术汇
公众号:《后台技术汇》,腾讯云加社区2023年度优秀作者、InfoQ签约作者
展开
-
LeetCode刷题之旅【算法篇】(简单 -6):572. 另一个树的子树
目录题目:另一个树的子树解题1:字符串比较法性能算法复杂度分析解题2:遍历子节点性能算法解法3:使用hash比较两棵树性能算法题目:另一个树的子树解题1:字符串比较法/** * Definition for a binary tree node. * public class TreeNode { * in...原创 2020-02-04 11:54:32 · 399 阅读 · 0 评论 -
LeetCode刷题之旅(中等-1): 3. 无重复字符的最长子串
2019年11月22日目录题目:3. 无重复字符的最长子串解题1:暴力穷举法执行结果:复杂度分析解法2:滑动窗口法执行结果:复杂度分析题目:3. 无重复字符的最长子串解题1:暴力穷举法public class TestLongestSubstringWithoutRepeatingCharacters { public stati...原创 2019-11-24 20:39:30 · 287 阅读 · 0 评论 -
LeetCode刷题之旅(简单-17): x 的平方根
2019年6月18日目录题目:解决方法1:模拟二分查找法思路:性能结果:解决方法2:讨巧解法...性能结果:解决方法3:先确定左右边界,中值平方值比较思路:性能结果:解决方法4:二分查找小结:题目:解决方法1:模拟二分查找法public class mySqrt { public static void main(S...原创 2019-06-19 12:12:49 · 298 阅读 · 0 评论 -
LeetCode刷题之旅(简单-14):最后一个单词的长度
2019年6月9日算是一道对得起“简单”Level的题目了,一次过。目录题目:解决方法1:split()方法切割字符串思路:性能结果:解决方法2:trim()方法移除空格符,直接统计长度思路:性能结果:小结:题目:解决方法1:split()方法切割字符串public class LengthOfLastWord { pu...原创 2019-06-09 15:17:07 · 302 阅读 · 0 评论 -
LeetCode刷题之旅(简单-16): 二进制求和
2019年6月15日目录题目:解决方法1:暴力解释字符串运算思路:性能结果:解决方法2:网友解法:判断每位字符是否一样思路:性能结果:解决方法3:使用ASCII编码值运算,除以/整除2,获取当前位值/进位思路:性能结果:小结:题目:解决方法1:暴力解释字符串运算public class AddBinary { ...原创 2019-06-15 19:30:01 · 302 阅读 · 0 评论 -
LeetCode刷题之旅(简单-15):加一
2019年6月11日目录题目:错误思路:数据类型转换,运算解决方法1:递归检测进位思路:性能结果:解决方法2:思路简洁的解法思路:性能结果:小结:题目:错误思路:数据类型转换,运算 public static int[] plusOne(int[] digits) { // 1.数组转string ...原创 2019-06-11 17:40:40 · 297 阅读 · 0 评论 -
LeetCode刷题之旅(简单-13):最大子序和
2019年6月8日目录题目:解决方法1:暴力累计遍历法思路:性能结果:解决方法2:动态规划思路:性能结果:解决方法3:分治法(类似二分法)思路:性能结果:解决方法4:其他网友的解法:利用中间数组过渡比较思路:性能结果:小结:题目:解决方法1:暴力累计遍历法public class MaximumSubordina...原创 2019-06-08 15:54:23 · 278 阅读 · 0 评论 -
LeetCode刷题之旅(简单-12):报数
2019年6月3日目录题目:解决方法1:两次循环解决问题(次数/字符串遍历)思路:性能结果:解决方法2:递归函数思路:性能结果:解决方法3:暴力枚举结果思路:性能结果:小结:题目:解决方法1:两次循环解决问题(次数/字符串遍历) public static String countAndSayByMyself(int n)...原创 2019-06-07 17:28:48 · 302 阅读 · 0 评论 -
LeetCode刷题之旅(简单-11):搜索插入位置
2019年5月20日目录题目:解决方法1:性能结果:小结:解决方法2:性能结果:解决方法3:性能结果:小结:题目:解决方法1:package leetCode;/** * Date: 2019/5/20 21 :37 */public class SearchForInsertionLocation { public s...原创 2019-05-20 22:12:04 · 196 阅读 · 0 评论 -
LeetCode刷题之旅(简单-10):实现strStr()
2019年5月20日目录题目:实现strStr()解决方法1:暴力拆解字符串,逐个比较字符性能结果:小结:解决方法2:调用字符串的substring切割方法性能结果:分析:小结:看下JDK源码:解决方法3:暴力穷举法性能结果:分析:解决方法4:KMP 算法性能结果:分析:小结:解决方法5:双指针方法性能结果:小结:...原创 2019-05-20 15:39:08 · 361 阅读 · 0 评论 -
LeetCode刷题之旅(简单-9):移除相同元素
2019年5月19日目录题目:移除相同元素解决方法一:快指针遍历,慢指针赋值索引性能结果:算法分析小结:解决方法二:比较元素与目标值,一致则与末尾元素交换性能结果:算法分析小结:题目:移除相同元素解决方法一:快指针遍历,慢指针赋值索引package leetCode;/** * Date: 2019/5/19 16 :03...原创 2019-05-19 17:28:38 · 188 阅读 · 0 评论 -
LeetCode刷题之旅(简单-8):删除排序数组中的重复项
2019年5月15日目录题目:删除排序数组中的重复项解决方法一:双指针,快指针遍历,慢指针赋值项性能结果:小结:解决方法二:思路差不多的方法,但是代码写的好简洁思路:分析:解决方法三:稍微耗时耗内存,但也是最容易想到的方法总结:题目:删除排序数组中的重复项解决方法一:双指针,快指针遍历,慢指针赋值项package leetCode;...原创 2019-05-15 21:53:51 · 241 阅读 · 0 评论 -
LeetCode刷题之旅(简单-7):合并两个有序链表
2019年5月13日目录题目:合并两个有序链表解决方法一:使用辅助节点,指向联表末端元素性能结果:小结:解决方法二:使用递归方法性能结果:思路:小结:前言:基础不好的童鞋,花点时间回顾下基础数据结构:链表题目:合并两个有序链表解决方法一:使用辅助节点,指向联表末端元素package leetCode;/** * Date: ...原创 2019-05-13 11:39:08 · 292 阅读 · 0 评论 -
LeetCode刷题之旅(简单-6):有效的括号
2019年5月6日目录题目:有效的括号解决方法一:正向思维,栈顶元素与字符串下一字符进行比较性能结果:思路:解决方法二:逆向思维,把匹配元素入栈,顺序弹出时发现跟字符不一致则false性能结果:解决方法三:map把键值存储,逐个弹出;性能结果:小结:题目:有效的括号解决方法一:正向思维,栈顶元素与字符串下一字符进行比较publi...原创 2019-05-08 12:20:22 · 246 阅读 · 0 评论 -
LeetCode刷题之旅(简单-5):最长公共前缀
2019年5月4日目录题目:解决方法一:切割元素的字符串,然后逐个匹配元素性能结果:小结:看下JDK源码:解决方法二:性能结果:网友的算法分析:题目:解决方法一:切割元素的字符串,然后逐个匹配元素package leetCode;/** * Date: 2019/5/4 11 :08 */public class Long...原创 2019-05-04 17:34:00 · 274 阅读 · 0 评论 -
LeetCode刷题之旅(简单-4): 罗马数字转整数
2019年5月3日目录题目:测试用例解决方法一:使用hashMap映射键值,根据规则进行数值判断性能结果:小结:解决方法二:性能确实好,但是if太多了性能结果:小结:其他总结:题目:测试用例解决方法一:使用hashMap映射键值,根据规则进行数值判断package leetCode;import java.util.Arra...原创 2019-05-03 12:05:00 · 318 阅读 · 0 评论 -
LeetCode刷题之旅(简单-3):回文数
2019年4月30日目录题目解决方法一:暴力拆解数字,与输入数作比较性能结果:解决方法二:优化解法思路分析:算法:复杂度分析:解决方法三:中间指针靠拢思路:小结:题目解决方法一:暴力拆解数字,与输入数作比较public class PalindromeNumber { public static boolean isPa...原创 2019-04-30 20:23:17 · 201 阅读 · 0 评论 -
LeetCode刷题之旅(简单-2):整数反转
2019年4月29日目录题目:整数反转解答解法一:暴力拆解数字性能结果:解法二:优化解法分析:性能结果:小结:题目:整数反转解答解法一:暴力拆解数字public class IntegerInversion { public static int reverse(int x) { // 1.标识ture为...原创 2019-04-30 11:25:38 · 297 阅读 · 0 评论 -
LeetCode刷题之旅(简单-1):两数之和
2019年4月28日目录题目两数之和解决1)第一种方法:循环嵌套2)第二种方法:(性能完善)3)其他高级优化:(算法优化)题目:两数之和class Solution { public int[] twoSum(int[] nums, int target) { }}解决1)第一种方法:循环嵌套package l...原创 2019-04-28 09:56:28 · 206 阅读 · 0 评论 -
LeetCode刷题之旅(中等 -1):两数相加
2019年9月4日题目:解决方法:1、双指针,链表遍历,逐位相加package leetCode.middle;/** * leetCode:middle 2 两数相加 * * @author moubin.mo * @date: 2019/9/4 16:59 */public class SumOfTwoLinks { public sta...原创 2019-09-05 09:03:36 · 153 阅读 · 0 评论 -
LeetCode刷题之旅(中等 -3):535. TinyURL 的加密与解密
2019年9月14日这次碰到了加密算法的题目,恰好我之前也自己完成过“短链接服务”的开发,然后也部署到服务器了,顺手解决它吧。目录题目:解决方法1:性能解题思路:解决方法2:解决方法3:解决方法4:(搞笑的)题目:解决方法1:package leetCode.middle.tiny_url;/** * @author moubin....原创 2019-09-15 11:16:33 · 357 阅读 · 0 评论 -
LeetCode刷题之旅(中等 -4):100. 相同的树
2019年9月15日继续弥补《数据结构与算法》的不足,今天抽中了“树”。决定先把基础题做一遍,打好基础。目录题目:解决方法1:解决思路:性能结果:解决方法2:思路:深度优先遍历解决方法3:迭代复杂度分析递归复杂度分析题目:二叉树基础概念:树是一种抽象数据类型(ADT)或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构...原创 2019-09-17 13:16:23 · 339 阅读 · 0 评论 -
LeetCode刷题之旅(中等 -5):101. 对称二叉树
2019年9月20日小白我接触到这里题目时,一开始是有点懵逼的,虽然说有点基础,但是门槛就在那,所以还是花了点时间去消化递归与树的结合,直到自己最后恍然大悟,原来如此。。。目录题目:解决方法1:递归遍历左右字数的对称节点性能结果:官方解决思路:复杂度分析解决方法2:性能结果:复杂度分析:其他:题目:解决方法1:递归遍历左右字数的对称节点...原创 2019-09-23 14:51:07 · 274 阅读 · 0 评论