03 2023 档案

摘要:题目描述: 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 解题思路: I. 按层打印: 题目要求的二叉树的 从上至下 打印(即按层打印),又称为二叉树的 广度优先搜索(BFS)。BFS 通常借助 队列 的先入先出特性来实现。 II. 每层打印到一行: 将本层全部节点打 阅读全文
posted @ 2023-03-31 15:51 ZDREAMER 阅读(16) 评论(0) 推荐(0) 编辑
摘要:题目描述: 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 解题思路: •题目要求的二叉树的 从上至下 打印(即按层打印),又称为二叉树的 广度优先搜索(BFS)。 •BFS 通常借助 队列 的先入先出特性来实现。 class Solution { public int[] l 阅读全文
posted @ 2023-03-31 10:58 ZDREAMER 阅读(19) 评论(0) 推荐(0) 编辑
摘要:题目描述: 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / 阅读全文
posted @ 2023-03-30 19:17 ZDREAMER 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目描述: 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 例如输入: 4 / \ 2 7 / \ / \1 3 6 9镜像输出: 4 / \ 7 2 / \ / \9 6 3 1 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 限制: 0 阅读全文
posted @ 2023-03-30 15:13 ZDREAMER 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目描述: 示例 1: 输入:A = [1,2,3], B = [3,1] 输出:false 示例 2: 输入:A = [3,4,5,1,2], B = [4,1] 输出:true 限制: 0 <= 节点个数 <= 10000 解题思路: /** * Definition for a binary 阅读全文
posted @ 2023-03-30 10:15 ZDREAMER 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例 1: Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7] Output: [3,9,20,n 阅读全文
posted @ 2023-03-29 16:23 ZDREAMER 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3 输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值 [1 3 -1] -3 5 3 6 7 3 1 [3 阅读全文
posted @ 2023-03-29 10:39 ZDREAMER 阅读(11) 评论(0) 推荐(0) 编辑
摘要:题目描述: 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回 -1 示例 1: 输入: ["MaxQueue"," 阅读全文
posted @ 2023-03-28 19:05 ZDREAMER 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。 示例: MinStack minStack = new MinStack(); minStack.push(-2); minStack.p 阅读全文
posted @ 2023-03-28 15:44 ZDREAMER 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题目描述: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead , 分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入: ["CQueue","appendTail 阅读全文
posted @ 2023-03-28 10:22 ZDREAMER 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 示例 1: 输入: s = "abab" 输出: true 解释: 可由子串 "ab" 重复两次构成。 示例 2: 输入: s = "aba" 输出: false 示例 3: 输入: s = "abcabcabca 阅读全文
posted @ 2023-03-27 10:53 ZDREAMER 阅读(96) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。 如果 needle 不是 haystack 的一部分,则返回 -1 。 示例 1: 输入:haystack = "sadbutsa 阅读全文
posted @ 2023-03-24 20:08 ZDREAMER 阅读(86) 评论(0) 推荐(0) 编辑
摘要:题目描述: 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。 请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 示例 1: 输入: s = "abcdefg", k = 2 输出: "cdefg 阅读全文
posted @ 2023-03-24 15:22 ZDREAMER 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果 阅读全文
posted @ 2023-03-24 10:07 ZDREAMER 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题目描述: 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy."输出:"We%20are%20happy." 限制: 0 <= s 的长度 <= 10000 //使用一个新的对象,复制 str,复制的过程对其判断,是空格则替换,否则直 阅读全文
posted @ 2023-03-23 19:15 ZDREAMER 阅读(17) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。 示例 1: 输入:s = "ab 阅读全文
posted @ 2023-03-23 15:56 ZDREAMER 阅读(15) 评论(0) 推荐(0) 编辑
摘要:题目描述: 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1: 输入:s = ["h","e","l","l","o"]输出:["o","l","l","e 阅读全文
posted @ 2023-03-23 10:29 ZDREAMER 阅读(15) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复): 0 <= a, b, c, d < 阅读全文
posted @ 2023-03-22 19:30 ZDREAMER 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请 你返回所有和为 0 且不重复的三元组。 注意 阅读全文
posted @ 2023-03-22 10:26 ZDREAMER 阅读(19) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1: 输入:ran 阅读全文
posted @ 2023-03-21 19:17 ZDREAMER 阅读(11) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < n nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0 示例 阅读全文
posted @ 2023-03-17 18:56 ZDREAMER 阅读(10) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums = 阅读全文
posted @ 2023-03-17 09:56 ZDREAMER 阅读(11) 评论(0) 推荐(0) 编辑
摘要:题目描述: 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: •对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。•然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。•如果这个过程 结果为 1,那么这个数就是快乐数。如果 n 是 快乐数 就返回 阅读全文
posted @ 2023-03-16 18:44 ZDREAMER 阅读(14) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2: 输入:nums1 = [4,9,5], 阅读全文
posted @ 2023-03-16 10:04 ZDREAMER 阅读(14) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s 阅读全文
posted @ 2023-03-15 10:14 ZDREAMER 阅读(15) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 阅读全文
posted @ 2023-03-14 10:09 ZDREAMER 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后,链表必须 保持其原始结构 。 示例 1: 输入:i 阅读全文
posted @ 2023-03-13 19:35 ZDREAMER 阅读(18) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给你一个链表,删除链表的倒数第 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 输 阅读全文
posted @ 2023-03-13 11:18 ZDREAMER 阅读(10) 评论(0) 推荐(0) 编辑
摘要:题目描述:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 思路:使用虚拟头结点,这样会方便很多,要不然每次针对头结点(没有前一个指针指向头结点),还要单独处理。 接下来就是交换相邻两个元素了,此时一定要画图,不画图 阅读全文
posted @ 2023-03-10 17:18 ZDREAMER 阅读(17) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例3: 输入:head = [] 输出:[] 思路: 只需要改变链表的 阅读全文
posted @ 2023-03-10 10:46 ZDREAMER 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题目描述: 设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。 在 阅读全文
posted @ 2023-03-09 19:15 ZDREAMER 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题目描述: 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: 输入:head = [] 阅读全文
posted @ 2023-03-09 11:01 ZDREAMER 阅读(13) 评论(0) 推荐(0) 编辑
摘要:链表的类型 单链表:什么是链表,链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。 链表的入口节点称为链表的头结点也就是head。 如图所示: 双链表 单链表中的指针域只能指向节点的 阅读全文
posted @ 2023-03-09 10:51 ZDREAMER 阅读(203) 评论(0) 推荐(0) 编辑
摘要:题目描述:给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n = 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 示例 2: 输入:n = 1 输出:[[1]] 思路:求解本题依然是要 阅读全文
posted @ 2023-03-08 09:56 ZDREAMER 阅读(14) 评论(0) 推荐(0) 编辑
摘要:题目描述:给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100] 排序后,数组变为 [0 阅读全文
posted @ 2023-03-07 10:28 ZDREAMER 阅读(16) 评论(0) 推荐(0) 编辑
摘要:题目描述:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为什么返回数值是整数 阅读全文
posted @ 2023-03-07 10:14 ZDREAMER 阅读(13) 评论(0) 推荐(0) 编辑
摘要:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/binary-search 示例 阅读全文
posted @ 2023-03-06 14:29 ZDREAMER 阅读(12) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示