
LeetCode
LeetCode 学习 + 刷题,刚起步,慢慢摸索
乐之终曲
技术很多,路还很长
展开
-
LeetCode 1. 两数之和
LeetCode 1. 两数之和题目我的思路代码题目我的思路两层循环第一层循环获取第一个加数第二层循环获取第二个加数,这个加数只取第一个之后的值因为加数在数组中不能取同一个值,且之前的值在前面已经验证过,没必要再验证代码class Solution { public int[] twoSum(int[] nums, int target) { // 先定义...原创 2019-10-09 09:59:59 · 228 阅读 · 0 评论 -
LeetCode 2. 两数相加
LeetCode 2. 两数相加题目题目链接解题思路代码题目题目链接https://leetcode-cn.com/problems/add-two-numbers/解题思路迭代法l1:[2, 4, 3]l2:[5, 6, 4] 直接计算量数相加, 2 + 5 = 7下次计算 4 + 6 = 10,如果结果 >= 10,因此需要一个进位标识,标识进位,同时当前位 -10。因此结果为 0,进位标识生效最后,3 + 4 + 1 = 8,进位加上结果 342 + 465原创 2022-02-18 17:57:59 · 436 阅读 · 0 评论 -
LeetCode 3. 无重复字符的最长子串
LeetCode 3. 无重复字符的最长子串题目我的思路代码题目我的思路利用 Set 判断是否重复第一个循环就是设置起始值,放入 Set 集合第二个循环重下一个值开始,与集合中的值进行对比,如果出现重复,则计算长度第二次循环全部结束后需要进行一次长度的判断,因为如果值没有重复,一直到结尾,这时候长度判断是没进行的,需要额外进行一次代码class Solution { pu...原创 2019-10-21 11:54:18 · 173 阅读 · 0 评论 -
LeetCode 20. 有效的括号
LeetCode 20. 有效的括号题目我的思路代码题目我的思路定义一个栈将字符串转为数组循环数组,判断如果是左括号,则把对应的右括号加入栈中如果是右括号,一次取出栈中的值判断是否相同,不同则无效代码class Solution { public boolean isValid(String s) { // 定义栈 Character,char 的包装类...原创 2019-10-09 11:40:04 · 327 阅读 · 4 评论 -
LeetCode 55. 跳跃游戏
LeetCode 55. 跳跃游戏题目理解题意我的思路代码题目理解题意示例1:数组的第一个值是必走的,即第一个值为 2因此我能能走,1 或 2 步走 1 步到 3,走 2 步到 1示例2:数组的第一个值是必走的,即第一个值为 3因此我能能走 1,2 或 3 步当走 3 步,直接到 0,后面都走不了,所以 false当走 2 步,到 1,后续只能走 1 步,到 0 所以 false当走 1 步,原因与上面一样,都只能到 0,所以 false因此这个示例的结论为 false我的思路原创 2020-05-12 15:14:37 · 285 阅读 · 0 评论 -
LeetCode 136. 只出现一次的数字
LeetCode 136. 只出现一次的数字题目我的思路代码题目我的思路定义两个 set 集合一个 set 集合存入所有的值,由于哈希存储,因此所有值都不会重复另一个 set 存储重复的值最后两个 set 取差集代码class Solution { public int singleNumber(int[] nums) { // 定义 set 集合 ...原创 2019-10-09 14:08:27 · 322 阅读 · 0 评论 -
LeetCode 151. 翻转字符串里的单词
LeetCode 151. 翻转字符串里的单词题目我的思路代码题目我的思路根据空格把字符串拆分为数组,之后只需将数组倒序拼接即可代码class Solution { public String reverseWords(String s) { // 拼接的字符串 String data = ""; // 把字符串拆分为数组 ...原创 2019-10-09 09:42:27 · 299 阅读 · 0 评论 -
LeetCode 200. 岛屿数量
LeetCode 200. 岛屿数量题目我的思路代码题目我的思路我这里的解法使用的深度优先算法的思想把探索过的岛屿直接标记为 x,没有额外创建一个数组也可以参考之前写的 广度优先 和 深度优先 的解法和思路LeetCode Java 队列结合广度优先算法(BFS)实现岛屿个数计算,附带详细分析LeetCode Java 深度优先算法(DFS)实现岛屿个数计算,附带详细分析代码c...原创 2019-10-09 14:30:49 · 588 阅读 · 0 评论 -
LeetCode 202. 快乐数
LeetCode 202. 快乐数题目我的思路代码题目我的思路整体思路就是通过不停的迭代计算平方和设置循环次数,我这里设置为 1000,超出就默认是无限循环了代码class Solution { // 定义如果无限循环了,最多只让循环 1000 次 int count = 1000; public boolean isHappy(int n) { ...原创 2019-10-09 14:17:59 · 397 阅读 · 0 评论 -
LeetCode 206. 反转链表
LeetCode 206. 反转链表前言题目答案前言今天看面试题,发现网友的面经上有被问到手撕链表,其中涉及到反转链表,遇是去 LeetCode 上把这题刷了,总结,我的算法还是菜。题目答案我使用的是栈来实现,利用栈后进先出的特点/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { va原创 2020-05-12 10:11:39 · 262 阅读 · 0 评论 -
LeetCode 217. 存在重复元素
LeetCode 217. 存在重复元素题目我的思路代码题目我的思路定义一个 Set 集合循环向 Set 集合添值,同时判断这个值是否已存在存在则 返回 true代码class Solution { public boolean containsDuplicate(int[] nums) { // 定义一个 set 集合 Set set = ...原创 2019-10-09 14:23:44 · 329 阅读 · 0 评论 -
LeetCode 349. 两个数组的交集
LeetCode 349. 两个数组的交集题目我的思路代码题目我的思路先把 nums1 取出放入 Set 集合中把 nums2 取出同时判断值在 nums1 集合中是否存在存在则把集合存入一个新的 Set 集合中,由于哈希存储,不会出现重复情况最后把值放入数组中返回代码class Solution { public int[] intersection(int[] num...原创 2019-10-09 15:29:33 · 550 阅读 · 0 评论 -
LeetCode 557. 反转字符串中的单词 III
LeetCode 557. 反转字符串中的单词 III题目我的思路代码题目我的思路利用栈的后进先出反转栈以空格为分割进行切分代码class Solution { public String reverseWords(String s) { if (s == null || s.length() == 0) { return s; } // 字符串转数组 char[] arrs = s.toCh原创 2022-02-17 16:00:58 · 219 阅读 · 0 评论 -
LeetCode 739. 每日温度
LeetCode 739. 每日温度题目我的思路代码题目我的思路循环数组循环数组的同时,循环栈判断栈顶索引所对应的数组中的值,与循环到的值温度哪个高由于栈后进先出的特性,是一天一天往前推的如果循环到的这个值高,说明升温了,以此计算索引差值,计算多少天升温移除栈顶元素,同时更新栈顶这个索引在数组中的值,也就是几天升温代码class Solution { public i...原创 2019-10-09 16:10:01 · 219 阅读 · 0 评论