Leetcode
文章平均质量分 58
Leetcode
graceyun
低头赶路,敬事如仪,自知其心,其路则明~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
初阶数据结构习题【20】(5二叉树)——101. 对称二叉树
前置:相同的树力扣OJ链接——101对称二叉树给你一个二叉树的根节点 root , 检查它是否轴对称。例 1:示例 2:这个和我们之前判断是否是同一颗子树是有关联的,是否对称,就是根和根比较,左子树和右子树比较是否相等。递归下去继续比较。原创 2025-06-10 18:30:00 · 440 阅读 · 0 评论 -
初阶数据结构习题【25】(5二叉树)——226. 翻转二叉树
力扣题目:226.翻转二叉树原创 2025-06-10 18:45:00 · 207 阅读 · 0 评论 -
初阶数据结构习题【21】(5二叉树)——144. 二叉树的前序遍历
示例 1:输入:root = [1,null,2,3]输出:[1,2,3]解释:示例 2:输入:root = [1,2,3,4,5,null,8,null,null,6,7,9]输出:[1,2,4,5,6,7,3,8,9]解释:示例 3:输入:root = []输出:[]示例 4:输入:root = [1]输出:[1]原创 2025-03-24 19:55:23 · 347 阅读 · 0 评论 -
初阶数据结构习题【16】(4栈和队列)——622. 设计循环队列
设计你的循环队列实现。循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。示例:// 设置长度为 3// 返回 true// 返回 true// 返回 true// 返回 false,队列已满// 返回 3。原创 2025-03-20 21:36:51 · 397 阅读 · 0 评论 -
初阶数据结构习题【24】(5二叉树)——572. 另一棵树的子树
前置。原创 2025-03-18 19:20:02 · 203 阅读 · 0 评论 -
初阶数据结构习题【18】(5二叉树)——100. 相同的树
给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入:p = [1,2,3], q = [1,2,3]输出:true示例 2:输入:p = [1,2], q = [1,null,2]输出:false示例 3:输入:p = [1,2,1], q = [1,1,2]输出:false。原创 2025-03-18 19:17:40 · 268 阅读 · 0 评论 -
初阶数据结构习题【17】(5二叉树)——965. 单值二叉树
如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回 false。示例 1:输入:[1,1,1,1,1,null,1]输出:true示例 2:输入:[2,2,2,5,2]输出:false。原创 2025-03-17 20:40:13 · 313 阅读 · 0 评论 -
初阶数据结构习题【12】(3顺序表和链表)——138.随机表的复制
给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。例如,如果原链表中有 X 和 Y 两个节点,其中 X.random --> Y。原创 2025-03-14 17:30:00 · 300 阅读 · 0 评论 -
初阶数据结构习题【14】(4栈和队列)——225. 用队列实现栈
请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。注意:你只能使用队列的标准操作 —— 也就是 push to back、peek/pop from front、size 和 is empty 这些操作。你所使用的语言也许不支持队列。你可以使用 list (列表)或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可示例:输入:输出:解释:// 返回 2// 返回 2。原创 2025-03-10 19:51:11 · 565 阅读 · 0 评论 -
初阶数据结构习题【11】(3顺序表和链表)——142. 环形链表 II
给定一个链表的头节点 head ,返回链表开始入环的第一个节点。如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。示例 1:输入:head = [3,2,0,-4], pos = 1。原创 2025-03-07 20:18:45 · 491 阅读 · 0 评论 -
初阶数据结构习题【11】(3顺序表和链表)——141. 环形链表I
给定一个链表的头节点 head ,返回链表开始入环的第一个节点。如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表示例 1输入:head = [3,2,0,-4], pos = 1。原创 2025-03-06 20:12:15 · 1110 阅读 · 0 评论 -
初阶数据结构习题【10】(3顺序表和链表)——160. 相交链表
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null。图示两个链表在节点 c1 开始相交题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,6,1,8,4,5], skipA = 2, skipB = 3输出:Intersected at ‘8’原创 2025-03-06 20:12:04 · 434 阅读 · 0 评论 -
初阶数据结构习题【6】(3顺序表和链表)—— 206. 反转链表
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例2输入:head = [1,2]输出:[2,1]示例3输入:head = []输出:[]原创 2025-03-03 18:13:38 · 310 阅读 · 0 评论 -
初阶数据结构习题【7】(3顺序表和链表)—— 21. 合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例1输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]原创 2025-03-03 18:13:30 · 553 阅读 · 0 评论 -
初阶数据结构习题【5】(3顺序表和链表)——面试题 02.02. 返回倒数第 k 个节点
输入一个链表,输出该链表中倒数第k个结点实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。示例:输入: 1->2->3->4->5 和 k = 2输出: 4。原创 2025-03-01 14:58:12 · 200 阅读 · 0 评论 -
初阶数据结构习题【4】(3顺序表和链表)——876 链表的中间结点
给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点示例 1:输入:head = [1,2,3,4,5]输出:[3,4,5]解释:链表只有一个中间结点,值为 3。示例 2:输入:head = [1,2,3,4,5,6]输出:[4,5,6]解释:该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。原创 2025-03-01 14:29:44 · 383 阅读 · 0 评论 -
初阶数据结构习题【3】(1时间和空间复杂度)——203移除链表元素
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点。示例1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]示例 2:输入:head = [ ], val = 1输出:[ ]示例 3:输入:head = [7,7,7,7], val = 7输出:[ ]原创 2025-02-28 23:58:03 · 402 阅读 · 0 评论 -
初阶数据结构习题【2】(1时间和空间复杂度)——189. 轮转数组
给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。之前C语言学习阶段做过类似的题目(示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]示例2输入:nums = [-1,-100,3,99], k = 2。原创 2025-02-26 19:53:36 · 427 阅读 · 0 评论 -
初阶数据结构习题【1】(2时间复杂度)——消失的数字
数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?原创 2025-02-25 19:09:58 · 256 阅读 · 0 评论 -
C语言初阶力扣刷题——349. 两个数组的交集【难度:简单】
给定两个数组,编写一个函数来计算它们的交集。示例:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]原创 2025-01-26 22:53:19 · 1047 阅读 · 0 评论 -
C++初阶习题(力扣)【6】验证一个字符串是否回文
C++力扣题目:验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。原创 2021-12-22 11:58:03 · 596 阅读 · 0 评论 -
C++初阶习题(力扣)【4】找字符串中第一个只出现一次的字符
力扣题目:字符串中的第一个唯一字符给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。原创 2021-12-14 16:16:39 · 1876 阅读 · 0 评论 -
C++初阶习题(力扣)【3】字符串相加
C++初阶习题——字符串相加原创 2021-12-08 11:26:08 · 443 阅读 · 0 评论 -
C++初阶习题(力扣)【1】仅仅反转字符
C++初阶习题(力扣)——仅仅反转字符原创 2021-12-06 11:51:41 · 167 阅读 · 0 评论 -
Java数据结构学习DAY3——链表(一)
Java数据结构学习DAY3——链表原创 2021-04-13 15:51:48 · 189 阅读 · 0 评论 -
力扣题目——692. 前K个高频单词
1. 题目描述前K个高频单词给一非空的单词列表,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。2. 代码实现class Solution { public List<String> topKFrequent(String[] words, int k) { // 1. 先统计每个单词出现的次数 Map<String, Integer> map = new Hash原创 2021-03-29 17:10:02 · 332 阅读 · 0 评论 -
力扣题目——771. 宝石与石头
1. 题目描述宝石与石头给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。2. 力扣代码实现import java.util.HashSet;import java.util.Set;class Solution { public int numJewelsInStones(Stri原创 2021-03-29 16:53:07 · 325 阅读 · 0 评论 -
力扣题目——138. 复制带随机指针的链表)(Java实现)
1.题目描述复制带随机指针的链表给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的深拷贝。深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 。例如,如果原链表中有 X 和 Y 两个节点,其中 X.rando原创 2021-03-29 16:07:44 · 160 阅读 · 0 评论 -
力扣题目——136. 只出现一次的数字(java 实现)
力扣题目——136. 只出现一次的数字(java 实现)题目描述:只出现一次的数字。给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?实现代码import java.util.HashMap;import java.util.Map;public class TestSetAndMap { //1.找只出现一次的数字 public int singleN原创 2021-03-29 10:58:12 · 239 阅读 · 0 评论 -
Java数据结构学习DAY5——二叉树(四)
1.6二叉树最大深度题目描述:力扣代码实现在这里插入代码片结果1.7平衡二叉树题目描述:力扣代码实现在这里插入代码片结果1.8 对称二叉树题目描述:力扣代码实现在这里插入代码片结果2、 进阶面试题二叉树的构建及遍历。二叉树的分层遍历 。给定一个二叉树, 找到该树中两个指定节点的最近公共祖先 。二叉树搜索树转换成排序双向链表。根据一棵树的前序遍历与中序遍历构造二叉树。根据一棵树的中序遍历与后序遍历构造二叉树。二叉树创建字符串。3、原创 2021-03-22 20:06:21 · 345 阅读 · 0 评论 -
Java数据结构学习DAY5——二叉树(三)
Java数据结构学习DAY5——二叉树(三)1、 基础面试题二叉树的前序遍历。二叉树中序遍历 。二叉树的后序遍历 。检查两颗树是否相同。另一颗树的子树。二叉树最大深度。判断一颗二叉树是否是平衡二叉树。对称二叉树。2、 进阶面试题二叉树的构建及遍历。二叉树的分层遍历 。给定一个二叉树, 找到该树中两个指定节点的最近公共祖先 。二叉树搜索树转换成排序双向链表。根据一棵树的前序遍历与中序遍历构造二叉树。根据一棵树的中序遍历与后序遍历构造二叉树。二叉树创建字符串。3、 前原创 2021-03-18 11:45:12 · 282 阅读 · 0 评论 -
力扣题目——杨辉三角(java 实现)
力扣题目——118.杨辉三角(Java实现)给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。观察杨辉三角找规律leetcode代码实现(Java)在这里插入代码片原创 2021-03-10 17:22:32 · 480 阅读 · 0 评论 -
力扣题目——存在连续三个奇数的数组
力扣题目,Java实现存在连续三个奇数的数组给你一个整数数组 arr,请你判断数组中是否存在连续三个元素都是奇数的情况:如果存在,请返回 true ;否则,返回 false 。力扣代码1(数组实现)class Solution { public boolean threeConsecutiveOdds(int[] arr) { for (int i = 0; i < arr.length-2; i++) { if (arr[i] % 2 !=原创 2021-03-09 16:16:58 · 286 阅读 · 0 评论
分享