力扣刷题
记录一些比较有意思的题
六时二一
这个作者很懒,什么都没留下…
展开
-
leetcode LCR 083. 全排列
Problem: LCR 083. 全排列思路使用一个visited数组来记录每一轮递归中数字被使用情况,dfsCode/** * @param {number[]} nums * @return {number[][]} */var permute = function(nums) { const len = nums.length const cur = [] // 当前轮次的排列结果 const res = [] // 结果汇总 const原创 2023-12-04 17:46:17 · 792 阅读 · 0 评论 -
leetcode 20.有效括号 栈的简单应用
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。原创 2023-09-06 18:29:45 · 285 阅读 · 0 评论 -
leetcode 92.反转链表II dummy节点的应用
给你单链表的头指针 head 和两个整数 left 和 right ,其中 left原创 2023-09-06 18:26:39 · 302 阅读 · 0 评论 -
leetcode LCR 007 mid. 三数之和。对撞指针解法
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a ,b ,c ,使得 a + b + c = 0 ?请找出所有和为 0 且 不重复 的三元组。原创 2023-09-06 18:21:08 · 315 阅读 · 0 评论 -
leetcode 88:合并两个有序数组 。 双指针解法
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。原创 2023-09-06 18:17:00 · 286 阅读 · 0 评论 -
回文数----<js翻转字符串>-----力扣
JavaScript翻转字符串回文数这道题比较经典了,刚学C数组时候就经常在PTA练到,当时使用的方法比较基础,先判范围,x<0则返回false;0 <= x < 10 则返回true;如果x >= 10, 那么创建两个数组,然后while循环内x逐次对10取模并存进数组a中,再把a中的数倒序存进数组b,然后for循环对比a、b数组对应位是否相等。不过现在接触到了js,由于js相比c语言更灵活,所以这道题用js做就会特别简单。js翻转字符串需要用到的函数1、变量名.toS原创 2022-04-22 20:28:36 · 1480 阅读 · 0 评论 -
只出现一次的数字 ----<异或位运算>-----力扣
异或位运算的妙用这是一道力扣的简单题,最开始我想的是用数组,先对所有数据进行排序,然后遍历数组元素,如果a[i] = a[i+1],那么i+=2;continue;因为只有一个数字出现了一次,那么当a[i] != a[i+1]时,a[i]就是要找的数。后面看了评论区之后,发现一种很简洁有意思的做法——按位异或一、什么是异或?之前离散数学里学习到这样一种特别的逻辑运算:按位异或。计算机进行按*异或运算的步骤为:1、将两个数a、b先转换为二进制数(此步就决定了后续异或运算中每一次对应位的异或运算都原创 2022-04-20 21:13:23 · 287 阅读 · 0 评论