![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode热题HOT100
chenchenchenchenyi
这个作者很懒,什么都没留下…
展开
-
121. the best time to 买卖股票
买卖股票的最佳时机给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5原创 2022-02-16 17:05:36 · 141 阅读 · 0 评论 -
461. 汉明距离
两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。给你两个整数 x 和 y,计算并返回它们之间的汉明距离。示例 1:输入:x = 1, y = 4输出:2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。示例 2:输入:x = 3, y = 1输出:1来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/hamming-dista...原创 2022-02-16 14:59:17 · 150 阅读 · 0 评论 -
338. 比特位计数
给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。示例 1:输入:n = 2输出:[0,1,1]解释:0 --> 01 --> 12 --> 10示例 2:输入:n = 5输出:[0,1,1,2,1,2]解释:0 --> 01 --> 12 --> 103 --> 114 --> 1005 -->原创 2022-02-16 14:42:09 · 187 阅读 · 0 评论 -
617. 合并二叉树
给你两棵二叉树: root1 和 root2 。想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。返回合并后的二叉树。注意: 合并过程必须从两个树的根节点开始。输入:root1 = [1,3,2,5], root2 = [2,1,3,null,4,null,7]输出:[3,4,5,原创 2022-02-14 17:46:59 · 104 阅读 · 0 评论 -
543. 二叉树的直径
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回3, 它的长度是路径 [4,2,1,3] 或者[5,2,1,3]。注意:两结点之间的直径长度是以它们之间边的数目表示。来源:力扣(LeetCode)链接:https://leetcode-cn....原创 2022-02-14 17:17:09 · 86 阅读 · 0 评论 -
226. 翻转二叉树
给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例 2:输入:root = [2,1,3]输出:[2,3,1]示例 3:输入:root = []输出:[]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/invert-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注..原创 2022-02-10 17:18:31 · 70 阅读 · 0 评论 -
101. 对称二叉树
给你一个二叉树的根节点root, 检查它是否轴对称。进阶:你可以运用递归和迭代两种方法解决这个问题吗?package com.bjtt;import java.util.LinkedList;import java.util.Queue;/** * 对称二叉树 */public class Test10 { public static void main(String[] args){ TreeNode treeNode = new TreeNode(1..原创 2022-02-10 16:55:39 · 187 阅读 · 0 评论 -
104. 二叉树的最大深度
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree著作权归领扣网络所有。商业转载请...原创 2022-01-24 17:56:21 · 48 阅读 · 0 评论 -
94. 二叉树的中序遍历
给定一个二叉树的根节点 root ,返回它的 中序 遍历。示例 1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。方法:中序遍历,左子树原创 2022-01-20 16:15:48 · 86 阅读 · 0 评论 -
136. 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/single-number著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。方法:map .原创 2022-01-10 15:26:10 · 59 阅读 · 0 评论 -
70. 爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶来源:力扣(LeetCode)链接:https://leetcod...原创 2022-01-07 16:16:35 · 62 阅读 · 0 评论 -
53. 最大子序和
给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。package com.bjtt;/** * 最大子序和 */public class Test08 { public static void main(String[] args){ int[] nums = new int[]{-1, 1, -2}; int res = maxSubArray(nums); System....原创 2021-11-05 17:55:03 · 64 阅读 · 0 评论 -
21. 合并两个有序链表
将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode listNode = new ListNode(); ListNode head = listNode; while(l1!=null && l2!=null...原创 2021-11-04 17:17:14 · 57 阅读 · 0 评论 -
20. 有效的括号
给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-parentheses著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。package com.bjtt;import java.util.HashMap;im..原创 2021-10-28 15:08:54 · 66 阅读 · 0 评论 -
5. 最长回文子串
给你一个字符串s,找到s中最长的回文子串。解题思路:package com.bjtt;/** * 最长回文子串 */public class Test05 { public static void main(String[] args){ String s = "ccbba"; String res = longestPalindrome(s); System.out.println(res); } ...原创 2021-10-25 15:11:35 · 107 阅读 · 0 评论 -
4. 寻找两个正序数组的中位数
给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { int len1 = nums1.length; int len2 = nums2.length; double res = 0; int i=0,j=0; List...原创 2021-10-12 15:35:29 · 116 阅读 · 0 评论 -
3. 无重复字符的最长子串
给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: s = "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pw...原创 2021-09-23 16:55:20 · 84 阅读 · 0 评论 -
2.两数相加
给你两个非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0开头。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。方法:输入的两个链表都是逆序存储数字的位数的,因...原创 2021-09-17 17:26:37 · 90 阅读 · 0 评论 -
1.两数之和
给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。class Solution { p...原创 2021-09-15 19:09:51 · 57 阅读 · 0 评论 -
523. 连续的子数组和
给你一个整数数组 nums 和一个整数k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:子数组大小 至少为 2 ,且子数组元素总和为 k 的倍数。如果存在,返回 true ;否则,返回 false 。如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x 是 k 的一个倍数。0 始终视为 k 的一个倍数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/continuous-subarray-sum.原创 2021-06-07 15:46:57 · 376 阅读 · 3 评论