随笔分类 - leetcode刷题笔记
摘要:一、题目 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点 二、思路 首先,通过指针p遍历链表,得到
阅读全文
摘要:一、题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。 二、思路 新开辟一个数组空间,判断为偶数则push()到数组末尾,奇数则unshift()到数组前面 三、程序实现 var exchange = function(nums)
阅读全文
摘要:一、题目 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点 如链表 4->5->1->9 删除5变成 4->1->9 二、思路 生成一个虚拟节点dummy,首先让遍历指针curr指向dummy,设置curr的next=head,因为head有可能是待删除的
阅读全文
摘要:一、题目 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 '1' 的个数(也被称为 汉明重量) 输入:11 输出:3 二、思路 通过toString(2)方法将十进制整数,转换成二进制字符串,然后统计字符串中'1'的个数 三、程序实现 var hammingWeight = fu
阅读全文
摘要:一、题目 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转,返回其最小值 二、思路 直接sort()排序,返回数组第一个数 三、程序实现 var minArray = function(numbers) { numbers.sort((a,b)=>a-b); return numbe
阅读全文
摘要:一、题目 求斐波那契数列的第n项,第0项是0,第1项是1。答案需要取模(1000000007) 二、思路 斐波那契数列某一项,等于前面两项之和。 三、程序实现 var fib = function(n) { let dp=[]; dp[0]=0; dp[1]=1; for(let i=2;i<=n;
阅读全文
摘要:一、题目 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回) 输入:head=[1,3,2] 输出:[2,3,1] 二、思路 遍历链表,每次利用数组的unshift()函数,每次往数组最前面添加元素,就变成倒序了 三、程序实现 var reversePrint = function(
阅读全文
摘要:一、题目 请实现一个函数,把字符串 s 中的每个空格替换成"%20" 二、思路 利用replace()函数:relpace()只会替换第一个,replaceAll()会替换多个,不会改变原数组 三、程序实现 var replaceSpace = function(s) { let news=s.re
阅读全文
摘要:一、题目 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 输入:[2,3,1,0,2,5,3] 输出:2或者3任意一个都可以 二、思路 遍历数组利用map.ha
阅读全文
摘要:一、题目 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 输入:s="()" 输出:true 二、思路 1.首先设置一个map,存放正确的key-value键值对映射关系,再设置一个空栈(存放value) 2.遍历字符串 如果map的key中存在
阅读全文

浙公网安备 33010602011771号