- 博客(22)
- 收藏
- 关注
原创 *用两个栈实现队列(leetcode)
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入: [“CQueue”,“appendTail”,“deleteHead”,“deleteHead”] [[],[3],[],[]] 输出:[null,null...
2020-05-05 11:13:56
366
原创 **验证二叉搜索树(leetcode)
给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 1.递归 /** 2020.5.5 9:09 * Definition for a binary tree node. * function TreeNode(val) { * ...
2020-05-05 10:30:08
177
原创 *最小的k个数(leetcode)
输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 1: 输入:arr = [3,2,1], k = 2 输出:[1,2] 或者 [2,1] 示例 2: 输入:arr = [0,1,2,1], k = 1 输出:[0] 1.sort,冒泡排序 var getLeastNumbers = function(a...
2020-05-04 19:21:42
270
原创 *数组中重复的数字(leetcode)
找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 /** 2020.5.4 18:09 * @param {number[]} nums * @retu...
2020-05-04 18:54:45
183
原创 *和为s的连续正数序列(leetcode)
输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 示例 1: 输入:target = 9 输出:[[2,3,4],[4,5]] 示例 2: 输入:target = 15 输出:[[1,2,3,4,5],[4,5,6],[7,8]] /** 2020.5.4 17:46 * @param...
2020-05-04 18:06:16
131
原创 *圆圈中剩下的数字(leetcode)
0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。 示例 1: 输入: n = 5, m = 3 输出: 3 示例 2: 输入: n = 10, m = 17 输出: 2 1.比较笨的正...
2020-05-04 17:24:12
179
原创 *反转链表(leetcode)
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 思路:(1).双指针 (2).递归 双指针: /** 2020.5.2 11:09 * Definition for singly-linked list. ...
2020-05-02 12:36:57
115
原创 *从尾到头打印链表(leetcode)
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] /** 2020.5.2 10:39 * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = nul...
2020-05-02 10:51:43
139
原创 *替换空格(leetcode)
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = “We are happy.” 输出:“We%20are%20happy.” 思路:正则表达式 /** 2020.5.2 10:36 * @param {string} s * @return {string} */ var replaceSpace = function(s) { return ...
2020-05-02 10:42:06
216
原创 *二叉树的镜像(leetcode)
请完成一个函数,输入一个二叉树,该函数输出它的镜像。 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 思路:递归 /** 2020.5.2 10:24 * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * ...
2020-05-02 10:35:23
170
原创 *二叉树的深度(leetcode)
输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 例如: 给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 主要思想:递归 /** 2020.5.2 10:08 * Definition for a binary tree node. * function TreeNode(...
2020-05-02 10:22:39
563
原创 *链表中倒数第k个节点(leetcode)
输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。 示例: 给定一个链表: 1->2->3->4->5, 和 k = 2. 返回链表 4->5. /** 2020.5.2 9:35 *...
2020-05-02 10:05:37
316
原创 *打印从1到最大的n位数(leetcode)
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。(感觉这个原题目考察的东西不应该是这样) 示例 1: 输入: n = 1 输出: [1,2,3,4,5,6,7,8,9] 说明: 用返回一个整数列表来代替打印 n 为正整数 /** 2020.5.2 9:26 * @param {number} n * @return...
2020-05-02 09:34:21
87
原创 *左旋转字符串(leetcode)
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 示例 1: 输入: s = “abcdefg”, k = 2 输出: “cdefgab” 示例 2: 输入: s = “lrloseumgh”, k = 6 输出: “umghlrlose” 限制...
2020-05-02 09:14:43
225
原创 **盛最多水的容器(leetcode)
给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色...
2020-05-01 16:29:35
197
原创 **两数相加(leetcode)
两数相加 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -...
2020-04-25 09:42:08
164
原创 *合并两个有序链表(leetcode)
合并两个有序链表 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 思想:递归 /**2020.4.25 7:50 * Definition for singly-linked list. * function...
2020-04-25 07:53:07
88
原创 *验证回文串(leetcode)
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: “A man, a plan, a canal: Panama” 输出: true 示例 2: 输入: “race a car” 输出: false 注:正则表达式,空字符串情况 //2020.4.24 22:11 var isPalindrome...
2020-04-24 22:14:19
99
原创 *买卖股票的最佳时机(leetcode)
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 注意:你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润...
2020-04-24 16:44:32
106
原创 *合并两个有序数组(leetcode)
给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = ...
2020-04-24 15:38:39
116
原创 *最大子序和(leetcode)
题目:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 复杂度:O(n²):220ms //2020.4.24 14:21 var maxSubArray = function(nums) { var ma...
2020-04-24 15:00:52
76
原创 关于Cannot set property 'innerHTML' of null的报错
在使用外部js文件链接方式进行编码时遇到的报错 原因是html和js都是自上而下调用 如果将script部分放在所在id定位的前端或者用外部js文件时,不能被正确加载 解决方法,放在对应的html下,或者干脆放在body末端 day1,第一次用博客记录,希望开个好头 ...
2020-04-04 01:50:51
170
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人