E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
力扣回溯算法
二叉树经典题题解(超全题目)(
力扣
)
✨欢迎来到脑子不好的小菜鸟的文章✨创作不易,麻烦点点赞哦所属专栏:刷题我的主页:脑子不好的小菜鸟文章特点:关键点和步骤讲解放在代码相应位置144.二叉树的前序遍历题目链接:https://leetcode.cn/problems/binary-tree-preorder-traversal//** *Definitionforabinarytreenode. *structTreeNode{ *
脑子不好的小菜鸟
·
2024-02-07 04:36
刷题
算法
c++
leetcode
力扣
细节题:二叉树前序遍历
细节一:题目在note部分提示我们要使用malloc函数去创建数组,因为它没有提供给我们数组,而题目中的指针returnsize提醒我们这是一个变量进行传址操作用于释放之前malloc的空间,粗暴地按题目范围malloc空间会报错,所以必须使用函数事先测出二叉树的节点数,然后进行递归操作赋值数组即可(注意i++与++i),但此时又报错,而报错原因为当我们进行多次递归操作时,每个函数栈帧都有自己的i
墨城举子--故人归
·
2024-02-07 02:05
数据结构
leetcode
算法
职场和发展
力扣
经典题:另一棵树的子树
直接省事一点,炒一下100题的代码,分别讨论单节点以及双空节点的情况,然后进行递归调用boolisSameTree(structTreeNode*p,structTreeNode*q){if(p==NULL&&q==NULL){returntrue;}if(p==NULL||q==NULL){returnfalse;}if(p->val!=q->val){returnfalse;}returnis
墨城举子--故人归
·
2024-02-07 02:30
数据结构
leetcode
算法
职场和发展
代码随想录第二十七天
第七章
回溯算法
part03●39.组合总和●40.组合总和II●131.分割回文串详细布置39.组合总和本题是集合里元素可以用无数次,那么和组合问题的差别其实仅在于startIndex上的控制题目链接/
zxclong
·
2024-02-07 01:04
java
算法
数据结构
leetcode
代码随想录第二十八天
第七章
回溯算法
part04●93.复原IP地址●78.子集●90.子集II详细布置93.复原IP地址本期本来是很有难度的,不过大家做完分割回文串之后,本题就容易很多了题目链接/文章讲解:https://
zxclong
·
2024-02-07 01:31
java
算法
数据结构
leetcode
2024.1.28
力扣
每日一题——水壶问题
2024.1.28题目来源我的题解方法一深度搜索(DFS)/广度搜索(BFS)方法二数学题目来源
力扣
每日一题;题序:365我的题解方法一深度搜索(DFS)/广度搜索(BFS)首先对题目进行建模。
菜菜的小彭
·
2024-02-07 00:06
力扣每日一题
java
leetcode
算法
职场和发展
java
2024.1.26
力扣
每日一题——边权重均等查询
题目来源
力扣
每日一题;题序:2846我的题解方法一使用dfs对每一组查询都求最近公共祖先(会超时,通不过)使用dfs对每一组查询都去找最近公共祖先,并在这个过程中统计边的权重,最后通过TreeMap计算出边权重集合中元素重复的最大次数
菜菜的小彭
·
2024-02-07 00:05
java
力扣每日一题
leetcode
算法
职场和发展
java
2024.1.27
力扣
每日一题——最大合金数
2024.1.27题目来源我的题解方法一二分查找题目来源
力扣
每日一题;题序:2861我的题解方法一二分查找使用二分查找,下界为0,上界因为预算和已有金属最大上限是10810^8108,所以设置二分查找上界为
菜菜的小彭
·
2024-02-06 23:33
java
力扣每日一题
leetcode
算法
职场和发展
java
[
力扣
每日习题][LCP 30]. 魔塔游戏 2024.02.06
难度评级:中等小扣当前位于魔塔游戏第一层,共有N个房间,编号为0~N-1。每个房间的补血道具/怪物对于血量影响记于数组nums,其中正数表示道具补血数值,即血量增加对应数值;负数表示怪物造成伤害值,即血量减少对应数值;0表示房间对血量无影响。小扣初始血量为1,且无上限。假定小扣原计划按房间编号升序访问所有房间补血/打怪,为保证血量始终为正值,小扣需对房间访问顺序进行调整,每次仅能将一个怪物房间(负
我想要两颗西柚&coral
·
2024-02-06 23:58
leetcode
算法
c++
反转字符串中的单词(
力扣
LeetCode)
文章目录151.反转字符串中的单词题目描述双指针思路代码版本二(精简版)版本一151.反转字符串中的单词题目描述给你一个字符串s,请你反转字符串中单词的顺序。单词是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的单词分隔开。返回单词顺序颠倒且单词之间用单个空格连接的结果字符串。注意:输入字符串s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格
林海绮律
·
2024-02-06 23:40
leetcode
leetcode
算法
c++
双指针
四数之和(
力扣
LeetCode)
文章目录18.四数之和题目描述双指针18.四数之和题目描述给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组[nums[a],nums[b],nums[c],nums[d]](若两个四元组元素一一对应,则认为两个四元组重复):0target就返回了,三数之和可以通过nums[i]>0就返回了,因为0已经是确定的数了,四数之和这道题目tar
林海绮律
·
2024-02-06 23:08
leetcode
leetcode
算法
c++
双指针
动态规划01 三步问题[C++]
图源:文心一言上机题目练习整理,本篇作为动态规划的代码,因为做题入门很少找到带图的讲解(难道是因为太简单,所以没有人嘛),所以干脆自己写一份,供小伙伴们参考~第1版:在
力扣
新手村刷题的记录~编辑:梅头脑审核
梅头脑_
·
2024-02-06 23:38
#
动态规划
动态规划
算法
c++
笔记
动态规划02 自由之路[C++]
图源:文心一言leedcode每日一题,提供了常规解法及其详细解释,供小伙伴们参考~第1版:在
力扣
新手村刷题的记录~方法一:递归调用,可以运行,但是不能通过较长的测试用例~方法二:动态规划,普遍适用的方法
梅头脑_
·
2024-02-06 23:37
#
动态规划
动态规划
算法
c++
笔记
位运算01 插入[C++]
图源:文心一言上机题目练习整理,位运算,供小伙伴们参考~网页版目录在页面的右上角↗~第1版:在
力扣
新手村刷题的记录~编辑:梅头脑审核:文心一言题目:面试题05.01.插入-
力扣
(LeetCode)面试题
梅头脑_
·
2024-02-06 23:35
#
位运算
算法
c++
笔记
代码随想录算法训练营day 28|第七章
回溯算法
part04
93.复原IP地址本期本来是很有难度的,不过大家做完分割回文串之后,本题就容易很多了题目链接/文章讲解:代码随想录视频讲解:
回溯算法
如何分割字符串并判断是合法IP?
.wsy.
·
2024-02-06 22:14
代码随想录训练营
算法
代码随想录算法训练营day 26|第七章
回溯算法
part03
39.组合总和本题是集合里元素可以用无数次,那么和组合问题的差别其实仅在于startIndex上的控制题目链接/文章讲解:代码随想录视频讲解:带你学透
回溯算法
-组合总和(对应「leetcode」
力扣
题目
.wsy.
·
2024-02-06 22:44
代码随想录训练营
算法
【
力扣
每日一题】
力扣
LCP30魔塔游戏
题目来源
力扣
LCP30魔塔游戏题目概述小扣当前位于魔塔游戏第一层,共有N个房间,编号为0~N-1。
写做四月一日的四月一日
·
2024-02-06 22:39
leetcode
算法
java
c++
【
力扣
每日一题】
力扣
292Nim游戏
题目来源
力扣
292Nim游戏题目概述你和你的朋友,两个人一起玩Nim游戏:桌子上有一堆石头。你们轮流进行自己的回合,你作为先手。每一回合,轮到的人拿掉1-3块石头。拿掉最后一块石头的人就是获胜者。
写做四月一日的四月一日
·
2024-02-06 22:37
leetcode
算法
java
c++
w1-T07 之2. 两数相加-中等
示例:输入:(2->4->3)+(5->6->4)输出:7->0->8原因:342+465=807来源:
力扣
(LeetCode)链接:https://leet
小院闲窗春已深
·
2024-02-06 18:21
【
力扣
】整数反转,判断是否溢出的数学解法
整数反转原题地址方法一:数学反转整数如何反转一个整数呢?考虑整数操作的3个技巧:xmod10可以取出x的最低位,如x=123,xmod10=3。x/=10可以去掉x的最低位,如x=123,x/=10,x=12。x=x*10+y可以在x后面续上y,其中y是一位数,如x=123,y=4,x=x*10+y,x=1234。假设要反转的整数为x,反转后的整数存储在变量rev中,rev一开始初始化为0,那么反
努力学习游泳的鱼
·
2024-02-06 18:24
leetcode
算法
职场和发展
【
力扣
】回文数,反转一半数字+字符串
回文数原题地址方法一:反转一半数字考虑特殊情况:负数不是回文数,如-123,反过来为321-。个位数为0的非0数不是回文数,比如120,反过来为021。对于一般情况,我们只需要取出后半段反转再跟前半段比较即可。如:12321,后半段321反转为123,前半段12,是回文数。1221,后半段21反转为12,前半段12,是回文数。12324,后半段324反转为423,前半段12,不是回文数。1223,
努力学习游泳的鱼
·
2024-02-06 18:54
leetcode
算法
职场和发展
【
力扣
】无重复字符的最长子串,滑动窗口+哈希集合+优化
力扣
的官方题解中给出了一个例子,可以很好地呈现这种思路。j
努力学习游泳的鱼
·
2024-02-06 18:24
leetcode
哈希算法
算法
【
力扣
】移动零,双指针法
移动零原题地址方法一:传统双指针法本题要求把非零元素移动到左边,零移动到右边,这跟快速排序的单趟非常相似。定义左右指针left和right,right指针负责探测所有元素,如果遇到非零元素,则左右指针交换,再同时右移;如果遇到零,则左指针不动,右指针右移。说人话就是:如果遇到非0元素,就把这个数换到左边,把左边的0换到右边;如果遇到0,那就不用管了,0就该待在右边。//方法一:双指针classSo
努力学习游泳的鱼
·
2024-02-06 18:24
leetcode
数据结构
算法
【
力扣
】复写零,栈+双指针法
复写零原题地址方法一:双指针法从前向后复写,会造成覆盖。所以,应该从后向前复写,这样我们可以考虑维护一个栈。遍历数组,如果遇到非0元素,就入栈1次;如果遇到0,就入栈2次。当栈中的元素个数超出数组的元素个数时,把栈中的元素重新从后向前写入数组即可。如:对于数组[1200304],1:入栈1次:[1]2:入栈1次:[12]0:入栈2次:[1200]0:入栈2次:[120000]3:入栈1次:[120
努力学习游泳的鱼
·
2024-02-06 18:24
leetcode
算法
职场和发展
【
力扣
】两数之和,暴力枚举+哈希表
两数之和原题地址方法一:暴力枚举首先,我们需要枚举数组中所有可能的下标对组合,对于n个数的数组,从中选2个下标,有种可能。做法很简单,遍历数组中的所有元素,对于每一个元素,遍历该元素后面的所有元素即可。比如,对于4个元素的数组,下标是0~3,所有可能的组合就是:(0,1),(0,2),(0,3),(1,2),(1,3),(2,3),总共有种可能。//方法一:暴力枚举classSolution{pu
努力学习游泳的鱼
·
2024-02-06 18:23
散列表
数据结构
算法
【
力扣
】两数相加,模拟+递归
两数相加原题地址方法一:模拟注意到链表的方向是从低位到高位,而做“竖式相加”也是低位到高位。123+45-----------168所以可以用同样的方法来模拟。如果不考虑进位,只需要取出对应位的2个数相加,再尾插到新的链表中。注意新的链表也是从低位到高位,也就是按照8->6->1的方向存储。链表中不存在前置0,所以当其中一个链表遍历完了,另一个链表没遍历完的时候,遍历完的链表剩下的元素都当做前置0
努力学习游泳的鱼
·
2024-02-06 18:23
算法
力扣
#6 Z字形变换 (难度:中等)
题目:将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行Z字形排列。比如输入字符串为"PAYPALISHIRING"行数为3时,排列如下:之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。解题思路:由于要将字符串s重新排列为多行字符串,所以选用List进行字符串存取。1.首先确定List集合的大小,当字符串s的长度小于numRo
nlp87v5
·
2024-02-06 17:22
模拟
leetcode
数据结构
java
字符串
每日一练:LeeCode-513、找树左下角的值【二叉树】
本文是
力扣
LeeCode-513、找树左下角的值学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。给定一个二叉树的根节点root,请找出该二叉树的最底层最左边节点的值。
666-LBJ-666
·
2024-02-06 17:52
#
每日一道LeeCode算法题
算法
数据结构
leetcode
每日一练:LeeCode-112、路径总和【二叉树+DFS+回溯】
本文是
力扣
LeeCode-112、路径总和学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。给你二叉树的根节点root和一个表示目标和的整数targetSum。
666-LBJ-666
·
2024-02-06 17:52
#
每日一道LeeCode算法题
算法
数据结构
leetcode
【
力扣
】Z字形变换,模拟+直接构造
Z字形变换原题地址方法一:利用二维矩阵模拟对于特殊情况,z字形变换后只有一行或只有一列,则变换后的字符串和原字符串相同。对于一般情况,我们可以考虑按照题目要求,把字符串按照Z字形存储到二维数组中,再横向遍历所有有效字符。假设Z字形变换后的矩阵有r行,字符串的长度为n。Z字形变换是按照周期t先向下,再向右上运动。一个周期t=r+(r-2)=r*2-2。其中r-2不包含两个红圈的位置。一个周期t内的行
努力学习游泳的鱼
·
2024-02-06 17:21
leetcode
算法
职场和发展
力扣
(LeetCode)6. Z 字形变换(C++)
数学构造ZZZ字形变换类似情报加密。找规律解密,就能得到构造的方法。第000行相邻的数,取n=4n=4n=4如上图,观察第000行和第333行相邻的数,组成等差数列,公差d=6=2n−2d=6=2n-2d=6=2n−22n−22n-22n−2是说,第111列有nnn个数,第111列到下一次变换的开头之间有n−2n-2n−2个数,总共2n−22n-22n−2个数。对于第111行或者第222行d=2n
清墨韵染
·
2024-02-06 17:21
墨染leetcode
leetcode
c++
算法
模拟
构造
力扣
6. Z 字形变换
将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行Z字形排列。比如输入字符串为"PAYPALISHIRING"行数为3时,排列如下:PAHNAPLSIIGYIR之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。请你实现这个将字符串进行指定行数变换的函数:stringconvert(strings,intnumRows);示例1:
Q1395954663
·
2024-02-06 17:21
leetcode
力扣
打卡第21天 判断字符串的两半是否相似
判断字符串的两半是否相似给你一个偶数长度的字符串s。将其拆分成长度相同的两半,前一半为a,后一半为b。两个字符串相似的前提是它们都含有相同数目的元音。注意,s可能同时含有大写和小写字母。如果a和b相似,返回true;否则,返回false。方法:计数题目给定一个偶数长度的字符串sss,并给出字符串「相似」的定义:若两个字符串中含有相同数目的元音字母,则这两个字符串「相似」。现在我们将给定字符串sss
ShadderSeina
·
2024-02-06 16:08
力扣打卡
leetcode
算法
职场和发展
力扣
LeetCode-链表
链表一、链表节点定义//单链表structListNode{ intval; //节点上存储的元素 ListNode*next; //指向下一个节点的指针 ListNode(intx):val(x),next(NULL){} //节点的构造函数};定义一个节点ListNode*head=newListNode(5);二、设置虚拟头结点作用:设置虚拟头结点使对头结点的处理普遍化ListNode
流忆,留宜
·
2024-02-06 14:37
LeetCode
链表
leetcode
算法
数据结构——leetcode(链表练习)[java]
leetcode-445-两数相加Ⅱ(链表求和)leetcode-234-回文链表leetcode-725-分割链表leetcode-328-链表元素按奇偶聚集leetcode-19-删除链表的倒数第n个节点
力扣
桐叶知秋
·
2024-02-06 14:36
leetcode
leetcode
链表
指针
算法
java
算法学习——LeetCode
力扣
哈希表篇2
算法学习——LeetCode
力扣
哈希表篇2454.四数相加II454.四数相加II-
力扣
(LeetCode)描述给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组
拉依达不拉胯
·
2024-02-06 14:06
LeetCode算法学习
算法
学习
leetcode
c++
c
互联网
算法学习——LeetCode
力扣
哈希表篇1
算法学习——LeetCode
力扣
哈希表篇1242.有效的字母异位词242.有效的字母异位词-
力扣
(LeetCode)描述给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。
拉依达不拉胯
·
2024-02-06 14:35
LeetCode算法学习
算法
学习
leetcode
c++
c
秋招
算法学习——LeetCode
力扣
链表篇2
算法学习——LeetCode
力扣
链表篇224.两两交换链表中的节点24.两两交换链表中的节点-
力扣
(LeetCode)描述给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。
拉依达不拉胯
·
2024-02-06 14:35
LeetCode算法学习
算法
学习
leetcode
c++
c语言
c
链表
算法学习——LeetCode
力扣
链表篇1
算法学习——LeetCode
力扣
链表篇1203.移除链表元素203.移除链表元素-
力扣
(LeetCode)描述给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val==val
拉依达不拉胯
·
2024-02-06 14:34
LeetCode算法学习
算法
学习
leetcode
c++
c语言
秋招
八股文
每日OJ题_算法_模拟⑤_
力扣
1419. 数青蛙
目录
力扣
1419.数青蛙解析代码1解析代码2
力扣
1419.数青蛙1419.数青蛙难度中等给你一个字符串croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串"croak")的组合。
GR鲸鱼
·
2024-02-06 14:28
每日OJ题
算法
leetcode
哈希算法
模拟题
数据结构
每日OJ题_算法_模拟④_
力扣
38. 外观数列
目录
力扣
38.外观数列解析代码
力扣
38.外观数列38.外观数列难度中等给定一个正整数n,输出外观数列的第n项。「外观数列」是一个整数序列,从数字1开始,序列中的每一项都是对前一项的描述。
GR鲸鱼
·
2024-02-06 14:26
每日OJ题
算法
leetcode
c++
模拟题
2021-09-02
IT1.LeetCode
力扣
:从上到下打印二叉树III2021-09-02(剑指Offer32-III.从上到下打印二叉树III)2.
幸福大黑鸭
·
2024-02-06 14:29
力扣
每日一题 ---- 1906. 查询差绝对值的最小值
本题中,我们的题目求的是差值的最小值,我们考虑一个因素,当前题目中给出的数组是没有排序过的,那么想要求的差值,是不是要两两配对进行判断差值最小值。这里我们就很费时间了,O(N^2)的时间复杂度,那么我们怎么办呢?排序吗?不太行,排完序的话,后面查询就很麻烦了,不可取,此时我们在注意一下数据,数字只有100,那么这个就是这题的关键点之一了,只有100个数。那么我们再来考虑差值的最小值,差值的最小值是
乖的小肥羊
·
2024-02-06 13:40
leetcode
算法
职场和发展
LeetCode 17. 电话号码的字母组合
标签:深度优先搜索,
回溯算法
,递归、字符串。
_almost__
·
2024-02-06 12:15
刷题
LeetCode:9.回文数,对整数的反转操作
博主本想找个简单的题水一下,结果太久没写这块的代码,直接写着宕机着,十分难受,最后还调试了几下,悲,目录题目:思路:官方代码(反转一半的):博主的辣眼睛代码(方法一):9.回文数-
力扣
(LeetCode
nainaire
·
2024-02-06 12:10
leetcode
算法
数据结构
LeetCode:13.罗马数字转整数
13.罗马数字转整数-
力扣
(LeetCode)目录思路:官解代码:作者辣眼代码:每日表情包:思路:思路已经很明了了,题目已经给出一般规则和特殊规则(而且题目确保给定的是正确的罗马数字),只需按部就班的写出来就好
nainaire
·
2024-02-06 12:07
leetcode
算法
c语言
力扣
:131. 分割回文串
回溯解法思路:1.先声明一个集合来接受全部的回文子串组合,在声明一个集合来接收单个回文子串的组合。2.写一个回溯函数,里面有终止条件和遍历全部组合的for循环来进行遍历全部的组合,终止条件为开始索引等于字符串的长度时,表示遍历完了整个字符串,li2加入到li1中去。在遍历for循环中要回溯操作,同时要检查分割段是否为回文子串,如果不是回文子串就跳过本次循环。要写一个检查回文子串的函数,其中用双指针
AnDanXingKo
·
2024-02-06 12:36
回溯
leetcode
算法
力扣
解法汇总1041. 困于环中的机器人
目录链接:
力扣
编程题-解法汇总_分享+记录-CSDN博客GitHub同步刷题项目:https://github.com/September26/java-algorithms原题链接:
力扣
描述:在无限的平面上
失落夏天
·
2024-02-06 12:34
编程题
leetcode
算法
职场和发展
双非本科准备秋招(17.1)——
力扣
二叉树
1、257.二叉树的所有路径要求返回根节点到叶子节点的所有路径,这里用前序遍历就好。每次递归前,都让字符串s加上当前节点的值和“->”,然后判断是否为叶子节点,如果是的话,说明这条路径是一个答案,因为最后多一个->,所以用substring去掉。如果root是null,那么root.left和root.right可能会空指针异常。所以每次递归的时候都要做一下判断。classSolution{Lis
随心自风流
·
2024-02-06 11:48
leetcode
数据结构
算法
java
秋招
求职招聘
分别用线性规划和动态规划求解打家劫舍问题(
力扣
198)
写在前面:1.本人是只挣扎在数模海洋的小可怜,最近同时学线性规划和动态规划,于是就有了这篇博客2.编程使用matlab3.动态规划解法参考数学建模清风动态规划课程https://www.bilibili.com/video/BV1tp4y167c5打家劫舍问题描述:你是一个小偷,现在有一排相邻的房屋等着你去偷窃。这些房子装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警
恩培多克勒的浑天仪
·
2024-02-06 11:00
动态规划
leetcode
算法
线性规划
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他