leetcode
我的大白菜呢
这个作者很懒,什么都没留下…
展开
-
LeetCode367: 有效的完全平方数(js)(二分查找)
题目:给定一个正整数num,编写一个函数,如果num是一个完全平方数,则返回 True,否则返回 False。说明:不要使用任何内置的库函数,如sqrt。示例 1:输入:16输出:True示例 2:输入:14输出:False解决:/* * @lc app=leetcode.cn id=367 lang=javascript * * [367] 有效的完全平方数 */// @lc code=start/** * @param {number}...原创 2021-01-27 18:32:25 · 200 阅读 · 0 评论 -
LeetCode77: 组合(js 递归)
题目:给定两个整数n和k,返回 1 ...n中所有可能的k个数的组合。示例:输入:n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]解决:/* * @lc app=leetcode.cn id=77 lang=javascript * * [77] 组合 */// @lc code=start/** * @param {number} n * @p...原创 2021-01-26 11:02:16 · 236 阅读 · 0 评论 -
LeetCode169: 多数元素(js)
题目:给定一个大小为n的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入:[3,2,3]输出:3示例2:输入:[2,2,1,1,1,2,2]输出:2进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。解决:/* * @lc app=leetcode.cn id=169 lang=javascript * * [1...原创 2021-01-22 17:37:33 · 151 阅读 · 0 评论 -
LeetCode226: 翻转二叉树(js)
题目:翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1备注:这个问题是受到Max Howell的原问题启发的 :谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。解决:/* * @lc app=leet...原创 2020-12-11 11:16:03 · 154 阅读 · 0 评论 -
LeetCode70: 爬楼梯(js)(非二叉树解法)
题目:假设你正在爬楼梯。需要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 阶解决:/* * @lc app=leetco...原创 2020-12-09 14:12:13 · 120 阅读 · 0 评论 -
LeetCode589: N叉树的前序遍历(js)
题目:给定一个 N 叉树,返回其节点值的前序遍历。例如,给定一个3叉树:返回其前序遍历:[1,3,5,6,2,4]。说明:递归法很简单,你可以使用迭代法完成此题吗?解决:/* * @lc app=leetcode.cn id=589 lang=javascript * * [589] N叉树的前序遍历 */// @lc code=start/** * // Definition for a Node. * function Node(val...原创 2020-12-08 19:59:53 · 152 阅读 · 0 评论 -
LeetCode590: N叉树的后序遍历(js)
题目:给定一个 N 叉树,返回其节点值的后序遍历。例如,给定一个3叉树:返回其后序遍历:[5,6,3,2,4,1].说明:递归法很简单,你可以使用迭代法完成此题吗?解决:/* * @lc app=leetcode.cn id=590 lang=javascript * * [590] N叉树的后序遍历 */// @lc code=start/** * // Definition for a Node. * function Node(val...原创 2020-12-08 19:57:15 · 119 阅读 · 0 评论 -
LeetCode144: 二叉树的前序遍历(js)
题目:给你二叉树的根节点root,返回它节点值的前序遍历。示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]示例 4:输入:root = [1,2]输出:[1,2]示例 5:输入:root = [1,null,2]输出:[1,2]提示:树中节点数目在范围[0, 100]内 -100 <= N...原创 2020-12-07 20:07:42 · 130 阅读 · 0 评论 -
LeetCode94: 二叉树的中序遍历(js)
题目:给定一个二叉树的根节点root,返回它的中序遍历。示例 1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]示例 4:输入:root = [1,2]输出:[2,1]示例 5:输入:root = [1,null,2]输出:[1,2]提示:树中节点数目在范围[0, 100]内 -100 <= No...原创 2020-12-07 20:05:48 · 205 阅读 · 0 评论 -
LeetCode66: 加一(js)
题目:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits = [0]输出:[1]提示:...原创 2020-12-02 15:19:51 · 121 阅读 · 0 评论 -
LeetCode88: 合并两个有序数组(js)
题目:给你两个有序整数数组nums1和nums2,请你将nums2合并到nums1中,使nums1成为一个有序数组。说明:初始化nums1和nums2的元素数量分别为m和n。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存nums2中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6]提示:-...原创 2020-11-26 20:08:56 · 117 阅读 · 0 评论 -
LeetCode21: 合并两个有序链表(js)
题目:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解决:/* * @lc app=leetcode.cn id=21 lang=javascript * * [21] 合并两个有序链表 */// @lc code=start/** * Definition for singly-...原创 2020-11-23 20:07:57 · 232 阅读 · 0 评论 -
LeetCode206: 反转链表(js)
题目:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?解决:/* * @lc app=leetcode.cn id=206 lang=javascript * * [206] 反转链表 */// @lc code=start/** * Definition for singl原创 2020-11-19 20:01:31 · 156 阅读 · 0 评论 -
LeetCode189: 旋转数组(js)
题目:给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例2:输入: [-1,-100,3,99] 和 k = 2输出: [3,99,-1,-100]解释: 向右旋转 1 步: [99,-1...原创 2020-11-19 10:17:32 · 101 阅读 · 0 评论 -
LeetCode26: 删除排序数组中的重复项(js)
题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回...原创 2020-11-18 11:30:45 · 122 阅读 · 0 评论 -
LeetCode7: 整数反转(js)
题目:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。解决:/* * @lc app=leetcode.cn id=7 lang=javascript ...原创 2020-11-18 11:27:23 · 124 阅读 · 0 评论