前端算法面试
就是柒啊
这个作者很懒,什么都没留下…
展开
-
验证回文串
LeetCode传送门 题目大意 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 解题思路 双指针 代码实现(js) /** * @param {string} s * @return {boolean} */ var isPalindrome = function(s) { var reg = /[0-9a-z]/; var i,j; const len = s.length; [i, j] = [0, len-1]; whi原创 2021-06-26 18:15:54 · 74 阅读 · 1 评论 -
有序数组的平方
leetcode传送门 题目大意 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 代码实现 双指针法:指针i指向数组最左边的数,指针j指向数组最右边的数(因为它们的绝对值最大,平方后的值也会大)。比较两个指针指向数字的平方大小,将较大者压入结果数组,修改相应指针。。。(以此类推)得到逆序数组,最后反转即可。 /** * @param {number[]} nums * @return {number[]} */ var sortedS原创 2021-06-14 20:11:44 · 97 阅读 · 0 评论 -
二分查找
leetcode传送门 题目大意: 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-search 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 代码实现 /** * @param {number[]} nums * @param {numb原创 2021-05-18 11:09:35 · 62 阅读 · 0 评论 -
移除元素
leetcode传送门 题目大意 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/remove-element 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 算法思路原创 2021-05-18 10:47:19 · 48 阅读 · 0 评论 -
删除有序数组中的重复项
leetcode传送门 题目大意: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 解题思路 设置两原创 2021-05-18 10:43:47 · 83 阅读 · 0 评论 -
合并两个有序的链表
合并两个有序的链表 题目大意 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 解法一 使用迭代法 /** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } */原创 2021-05-17 18:28:03 · 106 阅读 · 0 评论 -
有效的括号
leetcode传送门 题目大意 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/valid-parentheses 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 解题思路: 用数组实现stack,top标识栈顶指针 遍历字符串s,遇到左括原创 2021-05-06 17:55:05 · 68 阅读 · 0 评论 -
罗马数字转整数
leetcodec传送门 解法一: /** * @param {string} s * @return {number} */ var romanToInt = function(s) { let i ; let sum = 0; for ( i = 0; i < s.length; i++) { if(s[i] === 'I' && s[i+1] === 'V') { sum += 4; i原创 2021-05-06 16:04:51 · 84 阅读 · 0 评论