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 · 488 阅读 · 0 评论 -
LeetCode刷题之旅(中等-1): 3. 无重复字符的最长子串
2019年11月22日 目录 题目:3. 无重复字符的最长子串 解题1:暴力穷举法 执行结果: 复杂度分析 解法2:滑动窗口法 执行结果: 复杂度分析 题目:3. 无重复字符的最长子串 解题1:暴力穷举法 public class TestLongestSubstringWithoutRepeatingCharacters { public stati...原创 2019-11-24 20:39:30 · 345 阅读 · 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 · 379 阅读 · 0 评论 -
LeetCode刷题之旅(简单-14):最后一个单词的长度
2019年6月9日 算是一道对得起“简单”Level的题目了,一次过。 目录 题目: 解决方法1:split()方法切割字符串 思路: 性能结果: 解决方法2:trim()方法移除空格符,直接统计长度 思路: 性能结果: 小结: 题目: 解决方法1:split()方法切割字符串 public class LengthOfLastWord { pu...原创 2019-06-09 15:17:07 · 399 阅读 · 0 评论 -
LeetCode刷题之旅(简单-16): 二进制求和
2019年6月15日 目录 题目: 解决方法1:暴力解释字符串运算 思路: 性能结果: 解决方法2:网友解法:判断每位字符是否一样 思路: 性能结果: 解决方法3:使用ASCII编码值运算,除以/整除2,获取当前位值/进位 思路: 性能结果: 小结: 题目: 解决方法1:暴力解释字符串运算 public class AddBinary { ...原创 2019-06-15 19:30:01 · 372 阅读 · 0 评论 -
LeetCode刷题之旅(简单-15):加一
2019年6月11日 目录 题目: 错误思路:数据类型转换,运算 解决方法1:递归检测进位 思路: 性能结果: 解决方法2:思路简洁的解法 思路: 性能结果: 小结: 题目: 错误思路:数据类型转换,运算 public static int[] plusOne(int[] digits) { // 1.数组转string ...原创 2019-06-11 17:40:40 · 368 阅读 · 0 评论 -
LeetCode刷题之旅(简单-13):最大子序和
2019年6月8日 目录 题目: 解决方法1:暴力累计遍历法 思路: 性能结果: 解决方法2:动态规划 思路: 性能结果: 解决方法3:分治法(类似二分法) 思路: 性能结果: 解决方法4:其他网友的解法:利用中间数组过渡比较 思路: 性能结果: 小结: 题目: 解决方法1:暴力累计遍历法 public class MaximumSubordina...原创 2019-06-08 15:54:23 · 336 阅读 · 0 评论 -
LeetCode刷题之旅(简单-12):报数
2019年6月3日 目录 题目: 解决方法1:两次循环解决问题(次数/字符串遍历) 思路: 性能结果: 解决方法2:递归函数 思路: 性能结果: 解决方法3:暴力枚举结果 思路: 性能结果: 小结: 题目: 解决方法1:两次循环解决问题(次数/字符串遍历) public static String countAndSayByMyself(int n)...原创 2019-06-07 17:28:48 · 362 阅读 · 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 · 256 阅读 · 0 评论 -
LeetCode刷题之旅(简单-10):实现strStr()
2019年5月20日 目录 题目:实现strStr() 解决方法1:暴力拆解字符串,逐个比较字符 性能结果: 小结: 解决方法2:调用字符串的substring切割方法 性能结果: 分析: 小结: 看下JDK源码: 解决方法3:暴力穷举法 性能结果: 分析: 解决方法4:KMP 算法 性能结果: 分析: 小结: 解决方法5:双指针方法 性能结果: 小结: ...原创 2019-05-20 15:39:08 · 430 阅读 · 0 评论 -
LeetCode刷题之旅(简单-9):移除相同元素
2019年5月19日 目录 题目:移除相同元素 解决方法一:快指针遍历,慢指针赋值索引 性能结果: 算法分析 小结: 解决方法二:比较元素与目标值,一致则与末尾元素交换 性能结果: 算法分析 小结: 题目:移除相同元素 解决方法一:快指针遍历,慢指针赋值索引 package leetCode; /** * Date: 2019/5/19 16 :03 ...原创 2019-05-19 17:28:38 · 267 阅读 · 0 评论 -
LeetCode刷题之旅(简单-8):删除排序数组中的重复项
2019年5月15日 目录 题目:删除排序数组中的重复项 解决方法一:双指针,快指针遍历,慢指针赋值项 性能结果: 小结: 解决方法二:思路差不多的方法,但是代码写的好简洁 思路: 分析: 解决方法三:稍微耗时耗内存,但也是最容易想到的方法 总结: 题目:删除排序数组中的重复项 解决方法一:双指针,快指针遍历,慢指针赋值项 package leetCode; ...原创 2019-05-15 21:53:51 · 309 阅读 · 0 评论 -
LeetCode刷题之旅(简单-7):合并两个有序链表
2019年5月13日 目录 题目:合并两个有序链表 解决方法一:使用辅助节点,指向联表末端元素 性能结果: 小结: 解决方法二:使用递归方法 性能结果: 思路: 小结: 前言:基础不好的童鞋,花点时间回顾下基础数据结构:链表 题目:合并两个有序链表 解决方法一:使用辅助节点,指向联表末端元素 package leetCode; /** * Date: ...原创 2019-05-13 11:39:08 · 374 阅读 · 0 评论 -
LeetCode刷题之旅(简单-6):有效的括号
2019年5月6日 目录 题目:有效的括号 解决方法一:正向思维,栈顶元素与字符串下一字符进行比较 性能结果: 思路: 解决方法二:逆向思维,把匹配元素入栈,顺序弹出时发现跟字符不一致则false 性能结果: 解决方法三:map把键值存储,逐个弹出; 性能结果: 小结: 题目:有效的括号 解决方法一:正向思维,栈顶元素与字符串下一字符进行比较 publi...原创 2019-05-08 12:20:22 · 312 阅读 · 0 评论 -
LeetCode刷题之旅(简单-5):最长公共前缀
2019年5月4日 目录 题目: 解决方法一:切割元素的字符串,然后逐个匹配元素 性能结果: 小结: 看下JDK源码: 解决方法二: 性能结果: 网友的算法分析: 题目: 解决方法一:切割元素的字符串,然后逐个匹配元素 package leetCode; /** * Date: 2019/5/4 11 :08 */ public class Long...原创 2019-05-04 17:34:00 · 357 阅读 · 0 评论 -
LeetCode刷题之旅(简单-4): 罗马数字转整数
2019年5月3日 目录 题目: 测试用例 解决方法一:使用hashMap映射键值,根据规则进行数值判断 性能结果: 小结: 解决方法二:性能确实好,但是if太多了 性能结果: 小结: 其他总结: 题目: 测试用例 解决方法一:使用hashMap映射键值,根据规则进行数值判断 package leetCode; import java.util.Arra...原创 2019-05-03 12:05:00 · 392 阅读 · 0 评论 -
LeetCode刷题之旅(简单-3):回文数
2019年4月30日 目录 题目 解决方法一:暴力拆解数字,与输入数作比较 性能结果: 解决方法二:优化解法 思路分析: 算法: 复杂度分析: 解决方法三:中间指针靠拢 思路: 小结: 题目 解决方法一:暴力拆解数字,与输入数作比较 public class PalindromeNumber { public static boolean isPa...原创 2019-04-30 20:23:17 · 279 阅读 · 0 评论 -
LeetCode刷题之旅(简单-2):整数反转
2019年4月29日 目录 题目:整数反转 解答 解法一:暴力拆解数字 性能结果: 解法二:优化解法 分析: 性能结果: 小结: 题目:整数反转 解答 解法一:暴力拆解数字 public class IntegerInversion { public static int reverse(int x) { // 1.标识ture为...原创 2019-04-30 11:25:38 · 369 阅读 · 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 · 264 阅读 · 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 · 210 阅读 · 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 · 427 阅读 · 0 评论 -
LeetCode刷题之旅(中等 -4):100. 相同的树
2019年9月15日 继续弥补《数据结构与算法》的不足,今天抽中了“树”。决定先把基础题做一遍,打好基础。 目录 题目: 解决方法1: 解决思路: 性能结果: 解决方法2: 思路:深度优先遍历 解决方法3: 迭代 复杂度分析 递归 复杂度分析 题目: 二叉树基础概念: 树是一种抽象数据类型(ADT)或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构...原创 2019-09-17 13:16:23 · 413 阅读 · 0 评论 -
LeetCode刷题之旅(中等 -5):101. 对称二叉树
2019年9月20日 小白我接触到这里题目时,一开始是有点懵逼的,虽然说有点基础,但是门槛就在那,所以还是花了点时间去消化递归与树的结合,直到自己最后恍然大悟,原来如此。。。 目录 题目: 解决方法1:递归遍历左右字数的对称节点 性能结果: 官方解决思路: 复杂度分析 解决方法2: 性能结果: 复杂度分析: 其他: 题目: 解决方法1:递归遍历左右字数的对称节点...原创 2019-09-23 14:51:07 · 340 阅读 · 0 评论
分享