![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
leetcode用于刷算法题,常用JavaScript、python进行阶梯
Zella Zhang
无名之辈
展开
-
(leetcode)1893. 检查是否区域内所有整数都被覆盖2021/7/23
文章目录1893. 检查是否区域内所有整数都被覆盖1893. 检查是否区域内所有整数都被覆盖javascript题目:给你一个二维整数数组 ranges 和两个整数 left 和 right 。每个 ranges[i] = [starti, endi] 表示一个从 starti 到 endi 的 闭区间 。如果闭区间 [left, right] 内每个整数都被 ranges 中 至少一个 区间覆盖,那么请你返回 true ,否则返回 false 。已知区间 ranges[i] = [starti原创 2021-07-23 08:59:04 · 124 阅读 · 1 评论 -
(leetcode) 20. 有效的括号2021/7/22
文章目录20. 有效的括号 javascript20. 有效的括号 javascript题目:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例输入:s = "()"输出:true输入:s = "()[]{}"输出:true输入:s = "(]"输出:false输入:s = "([)]"输出:false代码1 第一反应想到的肯定原创 2021-07-22 08:53:35 · 94 阅读 · 1 评论 -
(leetcode) 剑指 Offer 52. 两个链表的第一个公共节点2021/7/21
文章目录剑指 Offer 52. 两个链表的第一个公共节点 javascript剑指 Offer 52. 两个链表的第一个公共节点 javascript题目:输入两个链表,找出它们的第一个公共节点。示例输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列原创 2021-07-21 08:57:33 · 102 阅读 · 1 评论 -
(leetcode) 面试题 17.10. 主要元素 2021/7/9
文章目录面试题 17.10. 主要元素 javascript面试题 17.10. 主要元素 javascript题目:数组中占比超过一半的元素称之为主要元素。给你一个 整数 数组,找出其中的主要元素。若没有,返回 -1 。请设计时间复杂度为 O(N) 、空间复杂度为 O(1) 的解决方案。示例输入:[1,2,5,9,5,9,5,5,5]输出:5输入:[3,2]输出:-1输入:[2,2,1,1,1,2,2]输出:2代码1用对象保存每个出现的次数,最后返回次数最多的那个需要注原创 2021-07-09 08:59:45 · 130 阅读 · 0 评论 -
(leetcode) 172. 阶乘后的零2021/7/9
文章目录172. 阶乘后的零 javascript172. 阶乘后的零 javascript题目:给定一个整数 n,返回 n! 结果尾数中零的数量。示例输入: 3输出: 0解释: 3! = 6, 尾数中没有零。输入: 5输出: 1解释: 5! = 120, 尾数中有 1 个零.代码1var trailingZeroes = function(n) { // 计算阶乘,然后在判断尾数零的个数 let tmp = 1 for(let i=1; i<=原创 2021-07-09 08:36:52 · 120 阅读 · 1 评论 -
(leetcode)125. 验证回文串 2021/7/8
文章目录125. 验证回文串 javascript125. 验证回文串 javascript题目:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例输入: "A man, a plan, a canal: Panama"输出: true输入: "race a car"输出: false代码1 先全部转换成小写,然后用正则表达式去除字符串中的空格,然后逆转字符串 与 原来的对比var isPa原创 2021-07-08 08:14:31 · 105 阅读 · 0 评论 -
(leetcode)167. 两数之和 II - 输入有序数组 2021/7/7
文章目录167. 两数之和 II - 输入有序数组 javascript167. 两数之和 II - 输入有序数组 javascript题目:给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。原创 2021-07-07 08:49:54 · 123 阅读 · 2 评论 -
(leetcode)136. 只出现一次的数字 2021/7/6
文章目录136. 只出现一次的数字 javascript136. 只出现一次的数字 javascript题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。示例输入: [2,2,1]输出: 1输入: [4,1,2,1,2]输出: 4代码1 通过对象放置每个元素和对应出现的次数,然后找到次数为1的返回var singleNumber = function(nums) { // 通过对象放置每个元素和对应出现的次原创 2021-07-06 08:19:15 · 70 阅读 · 0 评论 -
(leetcode) 112. 路径总和2021/7/5
文章目录112. 路径总和 javascript112. 路径总和 javascript题目:给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。叶子节点 是指没有子节点的节点。示例输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22输出:true输入:root = [1,2,原创 2021-07-05 08:41:01 · 70 阅读 · 0 评论 -
(leetcode)88. 合并两个有序数组 2021/7/2
文章目录88. 合并两个有序数组 javascript88. 合并两个有序数组 javascript题目:给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。示例输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,原创 2021-07-02 08:15:36 · 118 阅读 · 0 评论 -
(leetcode)69. x 的平方根 2021/7/1
文章目录69. x 的平方根 javascript69. x 的平方根 javascript题目:实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例输入: 4输出: 2输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。代码1 暴力循环var mySqrt = function(x) {原创 2021-07-01 08:29:47 · 81 阅读 · 0 评论 -
(leetcode)21.合并两个有序链表 2021/6/30
文章目录168. Excel表列名称 javascript168. Excel表列名称 javascript题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]输入:l1 = [], l2 = []输出:[]输入:l1 = [], l2 = [0]输出:[0]代码1 边合并边排序var mergeTwoLists = fun原创 2021-06-30 12:09:16 · 74 阅读 · 0 评论 -
(leetcode)168. Excel表列名称 2021/6/29
文章目录168. Excel表列名称 javascript168. Excel表列名称 javascript题目:给定一个正整数,返回它在 Excel 表中相对应的列名称。1 -> A2 -> B3 -> C...26 -> Z27 -> AA28 -> AB ...示例输入: 1输出: "A"输入: 28输出: "AB"输入: 701输出: "ZY"代码1 取余处理var convertToTitle = fun原创 2021-06-29 08:32:19 · 82 阅读 · 0 评论 -
(leetcode)27. 移除元素 2021/6/28
文章目录27. 移除元素 javascript27. 移除元素 javascript题目:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例输入:nums = [3,2,2,3], val = 3输出:2, nums = [2,2]解释:函数应该返回新的长度 2, 并且 nums原创 2021-06-28 08:31:42 · 70 阅读 · 0 评论 -
(leetcode)26. 删除有序数组中的重复项 2021/6/27
文章目录26. 删除有序数组中的重复项 javascript26. 删除有序数组中的重复项 javascript题目:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例输入:nums = [1,1,2]输出:2, nums = [1,2]解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要原创 2021-06-27 10:14:17 · 63 阅读 · 0 评论 -
(leetcode)94. 二叉树的中序遍历 2021/6/25
文章目录94. 二叉树的中序遍历 javascript94. 二叉树的中序遍历 javascript题目:给定一个二叉树,返回它的 中序 遍历。示例输入:root = [1,null,2,3]输出:[1,3,2]输入:root = []输出:[]输入:root = [1]输出:[1]输入:root = [1,2]输出:[2,1]输入:root = [1,null,2]输出:[1,2]代码1 递归方法var inorderTraversal = function(r原创 2021-06-25 08:39:52 · 69 阅读 · 0 评论 -
(leetcode)145. 二叉树的后序遍历2021/6/25
文章目录145. 二叉树的后序遍历 javascript145. 二叉树的后序遍历 javascript题目:给定一个二叉树,返回它的 后序 遍历。示例输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]代码1 递归方法var postorderTraversal = function(root) { // 左右根 if (!root) return [] let res = []; if原创 2021-06-25 08:36:10 · 64 阅读 · 0 评论 -
(leetcode)144. 二叉树的前序遍历2021/6/24
文章目录144. 二叉树的前序遍历 javascript144. 二叉树的前序遍历 javascript题目:给你二叉树的根节点 root ,返回它节点值的 前序 遍历。示例输入:root = [1,null,2,3]输出:[1,2,3]输入:root = []输出:[]输入:root = [1]输出:[1]输入:root = [1,2]输出:[1,2]输入:root = [1,null,2]输出:[1,2]代码1 递归方法var preorderTraversa原创 2021-06-24 09:22:19 · 57 阅读 · 0 评论 -
(leetcode)剑指 Offer 15. 二进制中1的个数2021/6/23
文章目录剑指 Offer 15. 二进制中1的个数 javascript剑指 Offer 15. 二进制中1的个数 javascript题目:请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有原创 2021-06-23 09:16:28 · 64 阅读 · 0 评论 -
(leetcode)520. 检测大写字母2021/6/22
文章目录496. 下一个更大元素 I javascript496. 下一个更大元素 I javascript题目:给定一个单词,你需要判断单词的大写使用是否正确。我们定义,在以下情况时,单词的大写用法是正确的:全部字母都是大写,比如"USA"。单词中所有字母都不是大写,比如"leetcode"。如果单词不只含有一个字母,只有首字母大写, 比如 “Google”。否则,我们定义这个单词没有正确使用大写字母。示例输入: "USA"输出: True输入: "FlaG"输出: False原创 2021-06-22 09:31:56 · 88 阅读 · 0 评论 -
(leetcode)401. 二进制手表2021/6/21
文章目录496. 下一个更大元素 I javascript496. 下一个更大元素 I javascript题目:二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。例如,下面的二进制手表读取 “3:25” 。给你一个整数 turnedOn ,表示当前亮着的 LED 的数量,返回二进制手表可以表示的所有可能时间。你可以 按任意顺序 返回答案。小时不会以零开头:例如,“01:00” 是无效的时原创 2021-06-21 08:37:02 · 218 阅读 · 0 评论 -
(leetcode)496. 下一个更大元素 I2021/6/20
文章目录496. 下一个更大元素 I javascript496. 下一个更大元素 I javascript题目:给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 -1 。示例输入: nums1 = [4,1,2], nums2 = [1,3原创 2021-06-20 10:03:34 · 56 阅读 · 0 评论 -
(leetcode)392. 判断子序列2021/6/18
文章目录392. 判断子序列 javascript392. 判断子序列 javascript题目:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例输入:s = "abc", t = "ahbgdc"输出:true输入:s = "axc", t = "ahbgdc"输出:false代码1遍历s,检测是否在原创 2021-06-18 09:39:42 · 82 阅读 · 0 评论 -
(leetcode)459. 重复的子字符串2021/6/18
文章目录459. 重复的子字符串 javascript459. 重复的子字符串 javascript题目:给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。输入: "aba"输出: False输入: "abcabcabcabc"输出: True解释: 可由子字符串 "abc" 重复四次构成。 (或者子字符串 "ab原创 2021-06-18 09:28:22 · 65 阅读 · 0 评论 -
(leetcode)504. 七进制数2021/6/16
文章目录504. 七进制数 javascript504. 七进制数 javascript题目:给定一个整数,将其转化为7进制,并以字符串形式输出。示例输入: 100输出: "202"输入: -7输出: "-10"代码var convertToBase7 = function(num) { return parseInt(num).toString(7)};最全进制转换学艺不精,还需努力????...原创 2021-06-16 11:00:17 · 132 阅读 · 0 评论 -
(leetcode)541. 反转字符串 II 2021/6/10
文章目录541. 反转字符串 II javascript541. 反转字符串 II javascript题目:给定一个字符串 s 和一个整数 k,你需要对从字符串开头算起的每隔 2k 个字符的前 k 个字符进行反转。如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。示例输入: s = "abcdefg", k = 2输出: "bacdfeg"代码1循环 切割 反转var reverseStr =原创 2021-06-10 09:55:38 · 149 阅读 · 0 评论 -
(leetcode) 404. 左叶子之和2021/6/9
文章目录404. 左叶子之和 javascript404. 左叶子之和 javascript题目:计算给定二叉树的所有左叶子之和。示例 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24代码1用一个标记标记左子树找到所有的左子树,累加var sumOfLeftLeaves = function(root) { // 用一个标记找到所有的左子树,累加 var isLeft =原创 2021-06-09 08:40:48 · 71 阅读 · 0 评论 -
(leetcode) 387. 字符串中的第一个唯一字符2021/6/8
文章目录387. 字符串中的第一个唯一字符 javascript387. 字符串中的第一个唯一字符 javascript题目:给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。示例s = "leetcode"返回 0s = "loveleetcode"返回 2代码1将字符串都遍历一遍,统计次数并放入对象中,最后返回次数为1的indexvar firstUniqChar = function(s) { // 将字符串都遍历一遍,统计次数原创 2021-06-08 10:38:31 · 93 阅读 · 0 评论 -
(leetcode)507. 完美数 2021/6/7
文章目录507. 完美数 javascript507. 完美数 javascript题目:对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」。给定一个 整数 n, 如果是完美数,返回 true,否则返回 false示例输入:28输出:True解释:28 = 1 + 2 + 4 + 7 + 141, 2, 4, 7, 和 14 是 28 的所有正因子。输入:num = 6输出:true输入:num = 496输出:true输入:num =原创 2021-06-07 08:30:51 · 133 阅读 · 1 评论 -
(leetcode)485. 最大连续 1 的个数 2021/6/6
文章目录485. 最大连续 1 的个数 javascript485. 最大连续 1 的个数 javascript题目:给定一个二进制数组, 计算其中最大连续 1 的个数。示例输入:[1,1,0,1,1,1]输出:3解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.代码1用了对象若为1,则将其放到对象中,并统计当前对象的长度最后返回最大长度var findMaxConsecutiveOnes = function(nums) { var obj原创 2021-06-06 09:57:02 · 89 阅读 · 0 评论 -
(leetcode)203. 移除链表元素 2021/6/5
文章目录203. 移除链表元素 javascript203. 移除链表元素 javascript题目:给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。示例输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]输入:head = [], val = 1输出:[]输入:head = [7,7,7,7], val = 7输出:[]代码var remo原创 2021-06-05 12:17:10 · 70 阅读 · 0 评论 -
(leetcode)160. 相交链表 2021/6/4
文章目录160. 相交链表 javascript160. 相交链表 javascript题目:给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。示例输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], sk原创 2021-06-04 08:58:22 · 253 阅读 · 0 评论 -
(leetcode)383. 赎金信 2021/6/3
文章目录383. 赎金信 javascript383. 赎金信 javascript题目:给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串 ransom 能不能由第二个字符串 magazines 里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。杂志字符串中的每个字符只能在赎金信字符串中使用一次。)示例输入:ransomNote = "a", ma原创 2021-06-03 18:41:04 · 130 阅读 · 0 评论 -
(leetcode)523. 连续的子数组和 2021/6/2
文章目录523. 连续的子数组和 javascript523. 连续的子数组和 javascript题目:给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:子数组大小 至少为 2 ,且子数组元素总和为 k 的倍数。如果存在,返回 true ;否则,返回 false 。如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x 是 k 的一个倍数。示例输入:nums = [23,2,4,6,7], k = 6输出:tr原创 2021-06-02 09:00:35 · 110 阅读 · 0 评论 -
(leetcode)476. 数字的补数 2021/6/1
文章目录476. 数字的补数 javascript476. 数字的补数 javascript题目:给你一个 正 整数 num ,输出它的补数。补数是对该数的二进制表示取反。示例输入:num = 5输出:2解释:5 的二进制表示为 101(没有前导零位),其补数为 010。所以你需要输出 2 。输入:num = 1输出:0解释:1 的二进制表示为 1(没有前导零位),其补数为 0。所以你需要输出 0 。代码1 循环var findComplement = function(num)原创 2021-06-01 09:11:26 · 70 阅读 · 0 评论 -
(leetcode)342. 4的幂 2021/5/31
文章目录342. 4的幂 javascript342. 4的幂 javascript题目:给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x示例输入:n = 16输出:true输入:n = 5输出:false输入:n = 1输出:true代码1 循环var isPowerOfFour = function(n) { var tmp = parse原创 2021-05-31 09:20:23 · 84 阅读 · 0 评论 -
(leetcode)509. 斐波那契数 2021/5/29
文章目录509. 斐波那契数 javascript509. 斐波那契数 javascript题目:斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1示例输入:2输出:1解释:F(2) = F(1) + F(0) = 1 + 0 = 1输入:3输出:2解释:F(3) = F(2) +原创 2021-05-29 09:58:32 · 83 阅读 · 0 评论 -
(leetcode)477. 汉明距离总和2021/5/28
文章目录477. 汉明距离总和 javascript477. 汉明距离总和 javascript题目:两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。计算一个数组中,任意两个数之间汉明距离的总和。示例输入: 4, 14, 2输出: 6解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了体现后四位之间关系)所以答案为:HammingDistance(4, 14) + HammingDistance(4, 2) + Hammi原创 2021-05-28 09:04:40 · 90 阅读 · 0 评论 -
(leetcode)461. 汉明距离2021/5/27
文章目录461.汉明距离 javascript461.汉明距离 javascript题目:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。示例输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。代码var hammingDistance = function(x, y) { retur原创 2021-05-27 21:04:28 · 60 阅读 · 0 评论 -
(leetcode)1190反转每对括号间子串2021526
文章目录1190. 反转每对括号间的子串 javascript1190. 反转每对括号间的子串 javascript题目:给出一个字符串 s(仅含有小写英文字母和括号)。请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。注意,您的结果中 不应 包含任何括号。示例输入:s = "(abcd)"输出:"dcba"输入:s = "(u(love)i)"输出:"iloveu"输入:s = "(ed(et(oc))el)"输出:"leetcode"输入:s原创 2021-05-26 09:32:24 · 117 阅读 · 0 评论