摘要:
/** * 整体上分为这么几步:找到链表的中间节点、将链表断开、 * 将右半部分链表反转、将这两部分链表合并; */ var reorderList = function(head) { if(!head) return // 找到中间节点 let middle = findMiddle(head) 阅读全文
摘要:
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。 示例 1: 输入: "()"输出: true示例 2: 输入: "()[]{}"输出: 阅读全文
摘要:
使用eslint的时候有些文件不经常改动,我们不希望eslint再去检测这些文件,于是我们在.eslintignore 文件中加入了想要忽略的文件 # 忽略build目录下类型为js的文件的语法检查 build/*.js # 忽略src/assets目录下文件的语法检查 src/assets src 阅读全文
摘要:
出现这个问题是因为当前设置的是cnpm 登录到的是cnpm,所以需要切换回来 可以输入一下命令查看当前的登录源: npm config get registry 淘宝源,需要切回到npmjs源,输入以下命令: npm config set registry=http://registry.npmjs 阅读全文
摘要:
设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可。 示例: 输入: arr = [1,3,5,7,2,4,6,8], k = 4输出: [1,2,3,4]提示: 0 <= len(arr) <= 1000000 <= k <= min(100000, len(arr)) /** * 阅读全文
摘要:
1、 将两个数组转成字符串比较,但是发现他们只是顺序不相等也被当做不相等 [1,2,3].toString()== [3,2,1].toString() false 2、我们可以先把数组排序按照从小到大的顺序sort()函数 [1,2,3].sort().toString()== [3,2,1].s 阅读全文
摘要:
// 其一,find mid node 使用快慢指针找到链表中点。 // 其二,reverse 逆序后半部分。 // 其三,check 从头、中点,开始比较是否相同。 var isPalindrome = function(head) { let slow = head let fast = hea 阅读全文
摘要:
输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。 示例: 给定一个链表: 1->2->3->4->5, 和 k = 阅读全文
摘要:
实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。 注意:本题相对原题稍作改动 示例: 输入: 1->2->3->4->5 和 k = 2输出: 4说明: 给定的 k 保证是有效的。 快慢指针 var kthToLast = function(head, k) { if(!head) 阅读全文
摘要:
给定一组非负整数 nums,重新排列它们每个数字的顺序(每个数字不可拆分)使之组成一个最大的整数。 注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。 示例 1: 输入:nums = [10,2]输出:"210"示例 2: 输入:nums = [3,30,34,5,9]输出:"95343 阅读全文