LeetCode刷题
LeetCode刷题
bridgexx
这个作者很懒,什么都没留下…
展开
-
【LeetCode 1702. 修改后的最大二进制字符串】
从左到右遍历,遇到0,则往后找到下一个0,通过10->01的变换,将下一个0之前的如 11110 变为 01111,此时原来的0和01110组成了 001111,可以通过 00 -> 10 的变换 将001111变为 101111。需要注意先将第二个0变为1,再将第一个0变为1,第一个0之后的1变为0。原创 2024-04-10 17:20:33 · 222 阅读 · 0 评论 -
【LeetCode 23. 合并 K 个升序链表】
合并k个有序链表,则需要找到k个链表中最小的节点,并将其插入新的链表中,然后将最小节点链表后移,继续比较k个链表中最小的节点,直到所有链表都为空。可以使用优先队列将k个节点放入优先队列中,每次取出最小的节点插入新的链表中,并将其后移。合并两个有序链表,直接比较两个链表找出较小的节点插入新的链表即可。请你将所有链表合并到一个升序链表中,返回合并后的链表。给你一个链表数组,每个链表都已经按升序排列。原创 2024-04-08 15:10:34 · 247 阅读 · 0 评论 -
【LeetCode 27. 移除元素】
移除元素原创 2022-07-19 13:57:23 · 60 阅读 · 0 评论 -
【LeetCode 2529. 正整数和负整数的最大计数】
给定非递减顺序数组,求出正整数数目和负整数数目只需要找到第一个正整数的位置并记录0的个数,当遇到第一个正整数直接记录退出遍历即可。如果没有正整数,返回。换句话讲,如果 nums 中正整数的数目是 pos ,而负整数的数目是 neg ,返回 pos 和 neg二者中的最大值。给你一个按 非递减顺序 排列的数组 nums ,返回正整数数目和负整数数目中的最大值。注意:0 既不是正整数也不是负整数。原创 2024-04-09 10:53:41 · 293 阅读 · 0 评论 -
【LeetCode 86. 分隔链表】
给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有小于 x 的节点都出现在 大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。创建两个dummy节点,分别指向小于和大于x的节点,然后遍历原链表,将节点依次插入到dummy1和dummy2中。之后将两个链表连接起来即可。原创 2024-04-08 11:30:55 · 222 阅读 · 0 评论 -
【LeetCode 51. N 皇后】
LeetCode 51. N 皇后题目描述解题思路回溯。class Solution { public List<List<String>> res = new ArrayList<>(); public List<List<String>> solveNQueens(int n) { //记录路径 char[][] track = new char[n][n]; //初始原创 2022-03-25 22:59:40 · 82 阅读 · 0 评论 -
【LeetCode 1600. 王位继承顺序】
比方说,假设王国由国王,他的孩子 Alice 和 Bob (Alice 比 Bob 年长)和 Alice 的孩子 Jack 组成。birth函数表示将一个节点加入继承顺序中,death函数表示将一个节点标记为死亡状态。可以从国王节点开始前序遍历,遍历过程中将遍历到的节点(未被标记为死亡状态)放入一个数组中,最后返回这个数组即可。由题意可知,王位继承人的顺序从国王开始,然后是国王的子节点,然后是子节点的子节点,依次类推。,给定一个人 x 和当前的继承顺序,该函数返回 x 的下一继承人。原创 2024-04-07 17:58:41 · 525 阅读 · 0 评论 -
【Leetcode 141. 环形列表】
如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。慢指针每次移动一步,快指针移动两步,如果链表没有环,则快慢指针的距离会越来越远,最后快指针先到底尾部。如果链表有环,则快慢指针会相遇,相遇的节点就是环的入口节点。给你一个链表的头节点 head ,判断链表中是否有环。解释:链表中有一个环,其尾部连接到第二个节点。解释:链表中有一个环,其尾部连接到第一个节点。原创 2024-03-29 18:05:01 · 332 阅读 · 1 评论 -
【LeetCode 242. 有效的字母异位词】
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。原创 2022-07-21 09:21:01 · 1413 阅读 · 1 评论 -
【LeetCode 59. 螺旋矩阵 II】
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。原创 2022-07-20 12:14:25 · 65 阅读 · 0 评论 -
【剑指 Offer 62. 圆圈中最后剩下的数字】
剑指 Offer 62. 圆圈中最后剩下的数字题目描述## 解题思路约瑟夫环问题。暴力解法class Solution { public int lastRemaining(int n, int m) { List<Integer> list = new ArrayList(n); for(int i=0; i < n; i++) list.add(i); int idx = 0;原创 2022-03-24 17:54:19 · 1072 阅读 · 0 评论 -
【LeetCode 19. 删除链表的倒数第 N 个结】
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。原创 2022-07-20 12:13:00 · 112 阅读 · 0 评论 -
【LeetCode 206. 反转链表】
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。原创 2022-07-20 11:26:11 · 136 阅读 · 0 评论 -
【LeetCode 707. 设计链表】
设计链表原创 2022-07-20 11:18:03 · 80 阅读 · 0 评论 -
【LeetCode 203. 移除链表元素】
移除链表元素原创 2022-07-20 10:57:35 · 80 阅读 · 0 评论 -
【LeetCode 54. 螺旋矩阵】
LeetCode 54. 螺旋矩阵题目描述解题思路遍历。参考 labuladong的算法小抄.class Solution { public List<Integer> spiralOrder(int[][] matrix) { List<Integer> res = new ArrayList<>(); int row = matrix.length, col = matrix[0].length; /原创 2022-04-04 20:36:18 · 394 阅读 · 0 评论 -
【LeetCode 172. 阶乘后的零】
LeetCode 172. 阶乘后的零题目描述解题思路class Solution { public int trailingZeroes(int n) { //思路 //计算阶乘后为零的个数 因为2 * 5 = 10 //转换成求n!中2和5因子的个数,由于任意的偶数都可以分解出因子2,即求n!中因子5的个数。 // n/5可以得到n!中5的倍数的个数 // n/25可以得到n!中25的倍数原创 2022-03-25 09:35:00 · 1056 阅读 · 0 评论 -
【LeetCode 322. 零钱兑换】
LeetCode 322. 零钱兑换 - 力扣题目描述解题思路class Solution { public int coinChange(int[] coins, int amount) { //dp[i]:表示凑成金额i所需要最少的硬币个数 int[] dp = new int[amount + 1]; Arrays.fill(dp, amount + 1); dp[0] = 0; // 外层 for 循环在原创 2022-03-24 22:33:17 · 820 阅读 · 0 评论 -
【LeetCode 509. 斐波那契数】
LeetCode 509. 斐波那契数题目描述解题思路一、迭代class Solution { public int fib(int n) { if(n == 0 || n == 1) return n; //dp[i]: 第i个斐波拉契数 dp[i] = dp[i-1] + dp[i-2] int[] dp = new int[n + 1]; dp[1] = 1; for(int i = 2; i <原创 2022-03-24 22:23:31 · 485 阅读 · 0 评论 -
【LeetCode 661. 图片平滑器】
LeetCode 661. 图片平滑器题目描述原创 2022-03-24 15:18:09 · 317 阅读 · 0 评论