【LeetCode】
文章平均质量分 70
题解
我要成为C++领域大神
code
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【力扣】划分为k个相等的子集
🔥❤️给定一个整数数组nums和一个正整数k,找出是否有可能把这个数组分成k个非空子集,其总和都相等。[1,4]原创 2024-08-28 22:25:21 · 532 阅读 · 4 评论 -
【力扣】地下城游戏
🔥❤️恶魔们抓住了公主并将她关在了地下城dungeon的。地下城是由m x n个房间组成的二维网格。我们英勇的骑士最初被安置在的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间要么是空的(房间里的值为0),要么包含增加骑士健康点数的魔法球(若房间里的值为正整数。原创 2024-08-25 19:52:05 · 543 阅读 · 8 评论 -
【力扣】最小栈
🔥❤️设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。原创 2024-07-19 19:11:58 · 587 阅读 · 4 评论 -
【力扣】逆波兰表达式求值
🔥❤️给你一个字符串数组 tokens ,表示一个根据表示的算术表达式。请你计算该表达式。返回一个表示表达式值的整数。逆波兰表达式是一种后缀表达式,所谓后缀就是指算符写在后面。原创 2024-07-05 15:51:53 · 477 阅读 · 2 评论 -
【力扣】同构字符串
🔥❤️给定两个字符串 s 和 t ,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。原创 2024-07-05 15:50:52 · 480 阅读 · 3 评论 -
【力扣】快乐数
🔥❤️编写一个算法来判断一个数 n 是不是快乐数。如果 n 是快乐数就返回 true;不是,则返回 false。原创 2024-07-05 15:49:38 · 532 阅读 · 1 评论 -
【力扣】两个数组的交集
🔥❤️给定两个数组 nums1 和 nums2 ,返回它们的 交集。输出结果中的每个元素一定是的。我们可以。原创 2024-06-29 09:53:41 · 406 阅读 · 1 评论 -
【力扣】两个数组的交集Ⅱ
🔥❤️给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。原创 2024-06-29 09:54:46 · 353 阅读 · 0 评论 -
【力扣】赎金信
🔥❤️给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true;否则返回 false。magazine 中的每个字符只能在 ransomNote 中使用一次。原创 2024-07-02 10:33:18 · 687 阅读 · 5 评论 -
【力扣】最长连续序列
🔥❤️给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n)的算法解决此问题。原创 2024-07-02 10:32:23 · 495 阅读 · 1 评论 -
【力扣】有效的字母异位词
🔥❤️给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。原创 2024-06-27 21:32:59 · 628 阅读 · 9 评论 -
【力扣】盛最多水的容器
🔥❤️给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。。原创 2024-06-23 19:17:23 · 659 阅读 · 2 评论 -
【力扣】岛屿数量
🔥❤️给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。原创 2024-06-20 14:55:48 · 457 阅读 · 0 评论 -
【力扣】所有可能的路径
🔥❤️给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序)graph[i] 是一个从节点 i 可以访问的所有节点的列表(即从节点 i 到节点 graph[i][j]存在一条有向边)。原创 2024-06-19 19:59:02 · 555 阅读 · 6 评论 -
【力扣】从前序与中序遍历序列构造二叉树
🔥❤️给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的, inorder 是同一棵树的,请构造二叉树并返回其根节点。原创 2024-06-18 09:52:39 · 551 阅读 · 2 评论 -
【力扣】重排链表
🔥❤️给定一个单链表L的头节点head,单链表L表示为:请将其重新排列后变为:不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。[1,4,2,3]原创 2024-06-17 23:21:09 · 1010 阅读 · 2 评论 -
【力扣】二叉树的右视图
给定一个二叉树的root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。原创 2024-06-17 23:05:08 · 450 阅读 · 2 评论 -
【力扣】二叉树的最近公共祖先
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(原创 2024-06-17 11:38:22 · 419 阅读 · 0 评论 -
【力扣】二叉树展开为链表
由于将树转化为链表,链表中节点的先后顺序与前序遍历的顺序一样,所以我们可以考虑使用前序遍历。在前序遍历过程中,将节点入vector的操作改成构建新树的右孩子即可。原创 2024-06-16 09:48:49 · 427 阅读 · 0 评论 -
【力扣】二叉搜索树中第k小的元素
给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k个最小元素(从 1 开始计数)。原创 2024-06-15 12:26:24 · 398 阅读 · 0 评论 -
【力扣】验证二叉搜索树
给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。原创 2024-06-14 12:53:08 · 245 阅读 · 0 评论 -
【力扣】将有序数组转换为二叉搜索树
给你一个整数数组 nums ,其中元素已经按排列,请你将其转换为一棵 平衡 二叉搜索树。原创 2024-06-12 22:18:30 · 512 阅读 · 0 评论 -
【力扣】二叉树的直径
给你一棵二叉树的根节点,返回该树的。二叉树的是指树中任意两个节点之间最长路径的。这条路径可能经过也可能不经过根节点 root。两节点之间路径的由它们之间边数表示。原创 2024-06-11 20:14:08 · 473 阅读 · 1 评论 -
【力扣】完全二叉树节点的数量
给你一棵的根节点 root ,求出该树的节点个数。完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。原创 2024-06-09 16:42:46 · 535 阅读 · 0 评论 -
【力扣】二叉树的最大深度
给定一个二叉树 root ,返回其最大深度。二叉树的是指从根节点到最远叶子节点的最长路径上的节点数。原创 2024-06-08 18:28:12 · 324 阅读 · 0 评论 -
【力扣】对称二叉树
给你一个二叉树的根节点 root , 检查它是否轴对称。原创 2024-06-07 14:31:55 · 560 阅读 · 0 评论 -
【力扣】翻转二叉树
给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。原创 2024-06-07 12:53:02 · 504 阅读 · 0 评论 -
【力扣】合并k个升序链表
给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例 1:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:1->4->5,1->3->4,2->6将它们合并到一个有序链表中得到。示例 2:输入:lists = []输出:[]示例 3:输入:lists = [[]]输出:[]原创 2024-06-04 19:14:58 · 580 阅读 · 1 评论 -
【力扣】随机链表的复制
给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的。深拷贝应该正好由 n 个节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。。例如,如果原链表中有 X 和 Y 两个节点,其中 X.random --> Y。原创 2024-05-29 09:40:40 · 571 阅读 · 0 评论 -
【力扣】课程表
你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1。在选修某些课程之前需要一些先修课程。先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi。例如,先修课程对 [0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1。请你判断是否可能完成所有课程的学习?如果可以,返回 true;否则,返回 false。原创 2024-05-28 22:35:19 · 795 阅读 · 0 评论 -
【力扣】回文链表
给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true;否则,返回 false。原创 2024-05-27 10:30:00 · 564 阅读 · 1 评论 -
【力扣】反转链表
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。原创 2024-05-26 14:25:28 · 400 阅读 · 0 评论 -
【力扣】环形链表
给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。。仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true。否则,返回 false。原创 2024-05-26 13:55:14 · 471 阅读 · 0 评论 -
【力扣】两两交换链表中的节点
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。原创 2024-05-26 13:38:46 · 549 阅读 · 0 评论 -
【力扣】K个一组翻转链表
给你链表的头节点 head ,每 k个节点一组进行翻转,请你返回修改后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。原创 2024-05-26 13:37:36 · 491 阅读 · 0 评论 -
【力扣】排序链表
给你链表的头结点 head ,请将其按排列并返回。原创 2024-05-26 13:42:43 · 524 阅读 · 0 评论 -
【力扣】 删除链表的倒数第 N 个结点
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]方法一:暴力流程1、设置哨兵节点,防止对空节点的错误访问2、pMove节点遍历链表,求长度coun原创 2024-05-25 14:27:10 · 311 阅读 · 0 评论 -
【力扣】合并两个有序链表
将两个升序链表合并为一个新的链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。原创 2024-05-24 15:40:38 · 291 阅读 · 1 评论 -
【力扣】两数相加
给你两个的链表,表示两个非负的整数。它们每位数字都是按照的方式存储的,并且每个节点只能存储数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。我最先选用的方法是将两个链表分别翻转,定义两个存放链表数据的变量,num1和num2。num=num*10+链表每一个节点值,可以求出链表所表示的数字。再让sum=num1+num2,求出每一位的数字,给新申请的链表节点赋值。原创 2024-05-25 12:24:43 · 473 阅读 · 0 评论 -
【力扣】相交链表
给定两个单链表的头节点 headA 和 headB ,请找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null。题目数据整个链式结构中不存在环。,函数返回结果后,链表必须。原创 2024-05-22 15:34:07 · 363 阅读 · 1 评论
分享