![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
WindSearcher
打造自己的梦想,否则就被雇佣打造他人的梦想!
展开
-
98. 验证二叉搜索树
验证是否是二叉树,每一个子节点需要和父节点和根节点比较,而不是只和父节点比较就可以的。例如: 2 / \ 1 3 \ 4根2的范围是(负无穷,正无穷)。2的左子树1的范围是( 负无穷 ,2)2的右子树3的范围是(2, 正无穷 )3的右子树4的范围是(3, 正无穷 )如果任何一个节点的值超过其应该的范围,一定不是二叉搜索树...原创 2020-01-18 20:28:59 · 161 阅读 · 0 评论 -
94. 二叉树的中序遍历
递归/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ import java.util.*;...原创 2020-01-18 20:14:39 · 172 阅读 · 0 评论 -
3. 无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "...原创 2019-11-23 16:34:51 · 134 阅读 · 0 评论 -
2. 两数相加
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&...原创 2019-11-23 15:43:43 · 186 阅读 · 0 评论 -
1. 两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]在真实的面试...原创 2019-11-23 15:08:00 · 227 阅读 · 0 评论 -
371. 两整数之和
不使用运算符 + 和 - ,计算两整数 a 、b 之和。示例 1:输入: a = 1, b = 2输出: 3示例 2:输入: a = -2, b = 3输出: 1思路:当时看到这道题的时候,心想这不是为难我老孙嘛?不用+-,那我可不可以用乘除呢?其实计算机中乘除最后是通过+-来实现的,所以只能另寻解法了。在“位运算”中有两个重要...原创 2019-11-23 12:13:46 · 130 阅读 · 0 评论 -
338. 比特位计数
给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]进阶: 给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗? 要...原创 2019-11-23 12:06:49 · 149 阅读 · 1 评论 -
318. 最大单词长度乘积
给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 的最大值,并且这两个单词不含有公共字母。你可以认为每个单词只包含小写字母。如果不存在这样的两个单词,返回 0。示例 1:输入: ["abcw","baz","foo","bar","xtfn","abcdef"]输出: 16解释: 这两个单词为 "abcw", "x...原创 2019-11-23 12:01:44 · 312 阅读 · 0 评论 -
leetcode--231. 2的幂
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true解释: 20 = 1示例 2:输入: 16输出: true解释: 24 = 16示例 3:输入: 218输出: false第一种思路:直接循环查找class Solution {public: bool isPowerOfTwo(int n) { ...原创 2019-08-21 11:39:51 · 185 阅读 · 0 评论 -
leetcode--201. 数字范围按位与
给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)。示例 1:输入: [5,7]输出: 4示例 2:输入: [0,1]输出: 0参考的别人思路:考虑范围[m,n],如果n比m二进制位数高的话,在累计按位与的过程中,数字的每一个二进制位数必然都出现过0,所以一旦出现位数...原创 2019-08-21 11:32:27 · 130 阅读 · 0 评论 -
leetcode--187. 重复的DNA序列
所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来查找 DNA 分子中所有出现超多一次的10个字母长的序列(子串)。示例:输入: s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"输出: ["AAAAACCCCC", "CCCC...原创 2019-08-21 10:25:13 · 189 阅读 · 0 评论 -
leetcode--169. Majority Element
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2第一种思路:暴力枚举,第一个for遍历数组元素,第二个for计算该数组元素个数,判断是否为众数,比较容易想到,这里就不贴代...原创 2019-08-21 09:33:42 · 117 阅读 · 0 评论 -
leetcode--137. 只出现一次的数字 II
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,3,2]输出: 3示例 2:输入: [0,1,0,1,0,1,99]输出: 99第一种思路:对数组进行排序,出现三次的必然存在相邻数字相等,如果不等,则为出现一次的数...原创 2019-08-20 20:44:09 · 125 阅读 · 0 评论 -
leetcode--136. 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4第一种思路:class Solution {public: int singleNumb...原创 2019-08-20 16:56:04 · 92 阅读 · 0 评论 -
leetcode-- Subsets
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]比比两句,好久没刷题,看到这道题,脑海里愣是没想到DFS,哎,心里默念一句草泥马呀第一种...原创 2019-08-20 16:37:05 · 152 阅读 · 0 评论