自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 160相交链表

解法2:(自己写法)

2024-06-30 00:18:37 121

原创 136.只出现一次的数字

除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。上面的三种方法都用到了集合,空间复杂度为线性。使用位运算:异或,可以做到常数空间复杂度。方法4:位运算,异或。

2024-06-18 16:12:08 288

原创 121.买卖股票的最佳时机

返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。设计一个算法来计算你所能获取的最大利润。买入这只股票,并选择在。

2024-06-17 20:18:05 221

原创 70. 爬楼梯

奈何组合涉及到了阶乘,数大过了int、long,使用BigInteger又不能转换。使用double会导致精度误差,总是差了答案2、3。一个实例,和答案(1134903170)差了3。其他小的实例没问题,大的实例相差2、3。// 因为一次只能爬1/2步,f(x)=f(x−1)+f(x−2)你有多少种不同的方法可以爬到楼顶呢?可以看出,思路是没问题的,限制于类型的长度。个数字进行组合,求和组合结果即为答案。// 设爬到第x阶台阶方案为f(x)开始看见是个简单题,就做。

2024-06-17 19:16:55 175

原创 455.分发饼干

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。,这是能让孩子们满足胃口的饼干的最小尺寸;,我们可以将这个饼干。

2024-05-07 17:18:54 181

原创 538.把二叉搜索树转换成累加树

树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点。的新值 = 原树中大于或等于。

2024-05-07 16:16:08 165

原创 108.将有序数组转换成二叉搜索树

排列,请你将其转换为一棵平衡二叉搜索树。

2024-05-07 12:25:50 99

原创 669.修剪二叉搜索树

改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。通过修剪二叉搜索树,使得所有节点的值在。给你二叉搜索树的根节点。

2024-05-02 15:10:57 192

原创 450.删除二叉搜索树中的节点

对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。给定一个二叉搜索树的根节点。,删除二叉搜索树中的。

2024-05-02 13:52:04 130

原创 701.二叉搜索树中的插入操作

可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。,将值插入二叉搜索树。返回插入后二叉搜索树的根节点。,新值和原始二叉搜索树中的任意节点值都不同。给定二叉搜索树(BST)的根节点。

2024-04-28 13:40:12 148

原创 236.二叉树的最近公共祖先

中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。真美啊,两句主要代码,加上递归,就搞出这道题了。因为根据定义最近公共祖先节点可以为节点本身。的最近公共祖先是节点。的最近公共祖先是节点。方法一:递归、dfs。

2024-04-26 10:30:57 167

原创 501.二叉搜索树中的众数

思路:中序遍历二叉搜索树得到按从小到大排序的ans,再遍历ans,将众数记录到temp中(借助定义base、count、maxCount,完成实现),再将temp链表转化成mode数组返回。给你一个含重复值的二叉搜索树(BST)的根节点。,找出并返回 BST 中的所有。如果树中有不止一个众数,可以按。(即,出现频率最高的元素)。不想再写第二遍的题。

2024-04-22 16:40:44 245

原创 530.二叉搜索树的最小绝对差

差值是一个正数,其数值等于两值之差的绝对值。给你一个二叉搜索树的根节点。

2024-04-20 10:16:19 118

原创 98.验证二叉搜索树

从最左下开始,按照中序遍历的顺序,是满足从小到大的(如果是二叉搜索树),判断其是否是一个有效的二叉搜索树。给你一个二叉树的根节点。

2024-04-20 00:56:15 183

原创 700.二叉搜索树

返回以该节点为根的子树。如果节点不存在,则返回。你需要在 BST 中找到节点值等于。给定二叉搜索树(BST)的根节点。

2024-04-18 11:05:06 259

原创 617.合并二叉树

想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;null 的节点将直接作为新二叉树的节点。合并过程必须从两个树的根节点开始。返回合并后的二叉树。

2024-04-18 10:37:09 292

原创 654.最大二叉树

给定一个不重复的整数数组。

2024-04-18 01:21:30 242

原创 106.从中序与后序遍历构造二叉树

是同一棵树的后序遍历,请你构造并返回这颗。是二叉树的中序遍历,

2024-04-15 19:57:13 168

原创 112.路经总和

的路径,这条路径上所有节点值相加等于目标和。和一个表示目标和的整数。是指没有子节点的节点。

2024-04-13 18:52:16 187

原创 513.找树左下角的值

假设二叉树中至少有一个节点。

2024-04-13 18:08:21 117 1

原创 404.左叶子之和

空间复杂度:O(n),与栈的最大深度相关,最坏情况下,树呈链式结构,深度为n。,返回所有左叶子之和。时间复杂度:O(n)

2024-04-13 17:42:13 122

原创 257.二叉树的所有路径

返回所有从根节点到叶子节点的路径。给你一个二叉树的根节点。是指没有子节点的节点。

2024-04-11 21:02:13 158

原创 77.组合

【代码】77.组合。

2024-04-11 17:29:26 101

原创 110.平衡二叉树

给定一个二叉树,判断它是否是平衡二叉树。时间复杂度:O(n * n)方法一:自顶向下的递归。方法二:自底向上的递归。空间复杂度:O(n)

2024-04-10 21:12:28 429

原创 222.完全二叉树节点个数

的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。,求出该树的节点个数。

2024-04-09 15:01:39 153

原创 111.二叉树最小深度

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。给定一个二叉树,找出其最小深度。叶子节点是指没有子节点的节点。

2024-04-09 13:11:33 232

原创 104.二叉树最大深度

求root最大深度,即求左右子树最大深度+1。

2024-04-06 17:44:09 72

原创 101.对称二叉树

给你一个二叉树的根节点。, 检查它是否轴对称。

2024-04-06 17:31:05 213

原创 226.翻转二叉树

翻转这棵二叉树,并返回其根节点。给你一棵二叉树的根节点。

2024-04-06 16:17:30 142

原创 225.队列实现栈

请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(

2024-04-04 10:07:38 309

原创 232.栈实现队列

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(

2024-04-04 01:13:35 165

原创 141.142.环形链表ⅠⅡ

将一个带环的链表长度分为三部分:环外长度(a),入环到快慢指针相遇的地方长度(b),环的剩余部分长度(c),设相遇时fast已经跑了n圈环,则fast跑的路程为a+n(b+c)+b。所以此时再定义一个pos指向head,让slow跟随着pos一同移动,在pos移动到a时,会和slow相遇(slow == pos)指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。则:a=(n-1)b+nc=n(b+c)-b。,仅仅是为了标识链表的实际情况。则:a+b=n(b+c)

2024-03-31 21:30:56 369

原创 28.找出字符串中第一个匹配项的下标

"leeto" 没有在 "leetcode" 中出现,所以返回 -1。字符串的第一个匹配项的下标(下标从 0 开始)。第一个匹配项的下标是 0 ,所以返回 0。"sad" 在下标 0 和 6 处匹配。方法二:KMP待补充。

2024-03-26 00:38:38 214

原创 151.反转字符串中的单词

中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。反转后的字符串中不能存在前导空格和尾随空格。中使用至少一个空格将字符串中的。之间用单个空格连接的结果字符串。方法一:调用函数(也可自己实现)是由非空格字符组成的字符串。时间复杂度:O(n)空间复杂度:O(n)

2024-03-25 01:09:46 150

原创 344.反转字符串 541反转字符串Ⅱ

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。、使用 O(1) 的额外空间解决这一问题。不要给另外的数组分配额外的空间,你必须。,从字符串开头算起,每计数至。

2024-03-23 23:34:13 151

原创 18.四数之和

有四个案例没过,不知道哪里错的,不想找了,嗯非常好的题使我的脑子无语。请你找出并返回满足下述全部条件且。

2024-03-23 00:18:50 156

原创 15.三数之和

先排序O(nlogn),再固定k,用双指针遍历数组,剔除重复的三数和通过这一句代码。答案中不可以包含重复的三元组。,判断是否存在三元组。

2024-03-22 21:42:56 184

原创 383.赎金信

中字符及字符出现次数,存进map中,遍历。

2024-03-21 00:27:47 452

原创 454.四数相加

再次双层for时,nums3、nums4和与nums1、nums2相反时,取出这个<sum出现的次数>,将这些<sum出现的次数>求和到ans中,返回即可。双层for循环,将nums1、nums2的所有元素和的可能求出来,用<key, value>表示<sum,sum出现的次数>,请你计算有多少个元组。

2024-03-20 00:09:52 201

原创 1.两数之和

在一个for循环中,一边向里面添加元素,一边通过map.containsKey判断已经加入map的元素中是否有合适的值target - nums[i] ,这个判断相当于代替了一个循环。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。整数,并返回它们的数组下标。时间复杂度:O(n * n)你可以按任意顺序返回答案。,请你在该数组中找出。空间复杂度:O(1)时间复杂度:O(n)空间复杂度:O(n)

2024-03-19 20:46:07 124

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除