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
力扣刷题笔记
力扣刷题笔记
目录剑指OfferII004.只出现一次的数字剑指OfferII005.单词长度的最大乘积剑指OfferII007.数组中和为0的三个数剑指OfferII008.和大于等于target的最短子数组剑指OfferII009.乘积小于K的子数组剑指OfferII010.和为k的子数组剑指OfferII011.0和1个数相同的子数组剑指OfferII013.二维子矩阵的和剑指OfferII014.字符串
SaadiyaQAQ
·
2023-06-18 02:17
leetcode
算法
数据结构
力扣刷题笔记
18——连续子数组的最大和/动态规划
连续子数组的最大和问题我的代码示例代码问题来自力扣:输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。提示:1usingnamespacestd;#include#include#include#includ
电子系的小欣
·
2023-06-09 22:22
算法题
leetcode
动态规划
算法
力扣刷题笔记
27——暂缓更新
暂缓更新最近忙着一些科研任务,而且感觉C++基础我是会的,刷题主要还是得等到年底和明年初。等最近忙完了,计划做两个开源项目。目标是分析清楚mytinystl项目,学习下开源项目的项目架构。然后学习Simple-Web-Server项目,接着在它的基础上进行一些更深入的开发。——————————————已开始更新,下一阶段更新一个服务器框架开发项目的学习过程。专栏:分布式服务器开发
电子系的小欣
·
2023-06-09 22:22
算法题
笔记
力扣刷题笔记
2——斐波那契数列
斐波那契数列问题我的代码过程中的一些问题问题力扣的题:写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项(即F(N))。斐波那契数列的定义如下:F(0)=0,F(1)=1F(N)=F(N-1)+F(N-2),其中N>1.斐波那契数列由0和1开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模1e9+7(1000000007),如计算初始结果为:1000000008,请返回1
电子系的小欣
·
2023-06-09 22:22
算法题
leetcode
算法
职场和发展
力扣刷题笔记
——回溯
本文为代码随想录的学习笔记捏,可自行搜索公众号学习目录组合问题电话号码字母组合分割字符串131.分割回文串-力扣(LeetCode)https://leetcode.cn/problems/palindrome-partitioning/IP地址分割求子集问题子集78.子集-力扣(LeetCode)https://leetcode.cn/problems/subsets/递增子序列重新安排⾏程n皇
木子南的翻斗花园
·
2023-06-09 22:51
算法
数据结构
leetcode
力扣刷题笔记
——第403题. 青蛙过河
BlueStragglers分享技术成长的快乐参考题解:官方题解问题:标签:动态规划。思路:这是一道典型的动态规划题。用二维布尔数组存储状态。DP[0][0]为初始状态为true。状态转移DP[I][K]=DP[J][K-1]||DP[J][K]||DP[J][K+1]。当两个石头间距大于i时没有答案。题解:classSolution{publicbooleancanCross(int[]ston
BlueStragglers
·
2023-06-09 22:49
刷题笔记
动态规划
leetcode
java
力扣刷题笔记
——动态规划
动态规划基础简称DP,如果某⼀问题有很多重叠⼦问题,使⽤动态规划是最有效的。动态规划中每⼀个状态⼀定是由上⼀个状态推导出来的做题过程:1.确定dp数组(dptable)以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp数组509.斐波那契数509.斐波那契数-力扣(LeetCode)https://leetcode.cn/problems/fibonacci-nu
木子南的翻斗花园
·
2023-06-09 22:16
动态规划
leetcode
笔记
力扣刷题笔记
栈与队列篇
总结先放在前面:栈和队列是可以互相转换使用的,其中两个栈可以实现一个队列,而一个队列就可以实现栈。栈通常用来解决匹配问题,比如说NO.20.有效的括号和NO.1047.删除字符串中的所有相邻重复项以及NO.150.逆波兰表达式求值对于队列,应该通过NO.239.滑动窗口最大值来学习单调队列(实际上由于C#不像C++或者java一样有方法可以获取队列的末尾值getLast()和removeLast(
INlinKC
·
2023-04-16 20:55
leetcode
力扣刷题笔记
26——最小的k个数/快速排序学习/快排与冒泡的时间复杂度
最小的k个数/快速排序学习/快排与冒泡的时间复杂度问题我的代码示例代码快速排序代码问题来自力扣:输入整数数组arr,找出其中最小的k个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例1:输入:arr=[3,2,1],k=2输出:[1,2]或者[2,1]示例2:输入:arr=[0,1,2,1],k=1输出:[0]限制:0usingnamespacestd
电子系的小欣
·
2023-04-10 16:20
算法题
leetcode
学习
算法
排序算法
力扣刷题笔记
25——扑克牌中的顺子/排序函数sort
扑克牌中的顺子/排序函数sort问题我的代码示例代码sort()从小到大排序从大到小排序1-不用第三个参数从大到小排序2-用第三个参数问题来自力扣:从若干副扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为0,可以看成任意数字。A不能视为14。示例1:输入:[1,2,3,4,5]输出:True示例2:输入:[0,
电子系的小欣
·
2023-04-10 16:01
算法题
leetcode
算法
排序算法
力扣刷题笔记
——剑指offer100题
位运算Java位运算符:Java移位运算符、复合位赋值运算符及位逻辑运算符1、整数除法题目描述:给定两个整数a和b,求它们的除法的商a/b,要求不得使用乘号‘*’、除号‘/’以及求余符号‘%’。注意:整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345)=8以及truncate(-2.7335)=-2假设我们的环境只能存储32位有符号整数,其数值范围是[−231
balance&&imbalance
·
2023-04-08 01:55
leetcode
算法
java
力扣刷题笔记
22—— 矩阵中的路径(回溯)/pair的学习
矩阵中的路径(回溯)/pair的学习问题分析示例代码pair学习问题来自力扣:给定一个mxn二维字符网格board和一个字符串单词word。如果word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。例如,在下面的3×4的矩阵中包含单词"ABCCED"(单
电子系的小欣
·
2023-04-05 00:11
算法题
leetcode
学习
回溯
力扣刷题笔记
23—— 二叉树中和为某一值的路径/DFS和BFS/push_back和emplace_back的差异/移动构造函数
二叉树中和为某一值的路径/DFS和BFS/push_back和emplace_back的差异/移动构造函数问题示例代码方法一深度优先搜索方法二广度优先搜索push_back和emplace_back移动构造函数问题来自力扣:给你二叉树的根节点root和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。叶子节点是指没有子节点的节点。示例代码最近的状态:简单的题
电子系的小欣
·
2023-04-05 00:11
算法题
leetcode
回溯
力扣刷题笔记
24——二叉搜索树与双向链表/二叉搜索树/二叉树简单回顾
二叉搜索树与双向链表/二叉搜索树问题我的代码示例代码二叉树问题来自力扣:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。为了让您更好地理解问题,以下面的二叉搜索树为例:我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节
电子系的小欣
·
2023-04-05 00:11
算法题
leetcode
数据结构
回溯
算法
力扣刷题笔记
:反转链表(新建链表&双指针法&递归)
反转链表要求将输入的链表反向输出,当然新建一个链表后,对长度为n的原链表进行n次遍历将链表从后向前的元素添加到新链表中这样的暴力解法,但是空间复杂度明显很高,暂不考虑。现在只考虑循环一遍的方法的话,可以使用新建链表、双指针和递归这两种方法。Leetcode:206.反转链表给你单链表的头节点head,请你反转链表,并返回反转后的链表。我一开始的想法是这样的:建立一个哨兵结点,然后将哨兵结点右侧第一
404金城武
·
2023-04-05 00:10
leetcode
c++
力扣刷题笔记
:删除链表的倒数第n个结点(暴力解法&双指针&递归)
Leetcode.19删除链表的倒数第n个结点给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。1).暴力解法思路很简单,直接第一遍遍历整个链表,记录链表所有结点的个数,再用总个数减去倒数的个数,再次遍历删除标记的数;/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode()
404金城武
·
2023-04-05 00:10
c++
leetcode
力扣刷题笔记
:面试题 链表相交(暴力解法&尾对齐法&双指针法)
这道题虽然是一道简单题,但是题目设计的非常有趣,我没想到双指针这个方法,这是提交以后在力扣评论区看到的,非常巧妙,逻辑能力真的太重要了。Leetcode.面试题02.07链表相交给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回null。图示两个链表在节点c1开始相交:题目数据保证整个链式结构中不存在环。注意,函数返回结果后,链表必须保
404金城武
·
2023-04-05 00:10
c++
leetcode
力扣刷题笔记
:环形链表 ll(双指针法不是哈希)
这个题目出就让人很难受,如果不用哈希表的话有点难解,有点像小学的跑步相遇的数学题,虽然说题目将单链表的特性展现的非常好,但是这个题目做起来的过程相当让人感觉无语。leetcode.142环形链表ll给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部
404金城武
·
2023-04-05 00:10
leetcode
c++
力扣刷题笔记
:链表(21)
2.两数相加(模拟)两个链表从头加到尾,边加边创建新链表的节点,最后有进位则再创建一个节点ListNode*addTwoNumbers(ListNode*l1,ListNode*l2){ListNode*head=newListNode(-1);ListNode*h=head;intflag=0;while(l1!=NULL||l2!=NULL){intsum=0;if(l1!=NULL){sum
杰尼鬼头大
·
2023-04-05 00:07
力扣刷题
链表
指针
数据结构
力扣刷题笔记
142
题号:142.环形链表II简介:给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环。注意,pos仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用O(1)空间解决此题?示例1:输入:head=[3,2
逗号8080
·
2023-04-05 00:59
力扣刷题笔记
链表
数据结构
6.1 LC148 排序链表 选择排序版 Java
力扣刷题笔记
快慢指针(注意链表长度为偶数时,返回第2个结点的细节)教练明天我想做这里面的题!快慢指针研究透了不香嘛!LC148排序链表我的刷题笔记排序链表老题新做之前快速排序也是拿这个题开的头结果时间复杂度直接给我爆炸了(为啥要快排链表啊!!)1.读题2.解题思路归并排序…嘶忘掉了鸭只能先看着题解慢慢回忆下了本题暂时使用个递归的做法参考题解【148.排序链表】归并排序详解java链表中的归并排序我们需要注意—
敲代码的小提琴手
·
2023-04-05 00:28
力扣刷题
算法强化之路
#
力扣刷题笔记
算法
java
快速排序
链表
力扣刷题笔记
技巧遇到在数组字符串中查找某元素第一时间想到哈希表查找循环,对比两个数组用快慢指针在字符串中查找子字符串用kmp算法数组填充类问题,可以先预先给数组扩容到填充后的大小,然后双指针法从后向前进行操作统计元素出现的频率用map二叉树中要在每层中找某值,就用队列层序遍历一看到二叉搜索树就要想到它的中序遍历是一个有序数组求排列组合问题,子集问题用回溯算法,先写出回溯模板在数组中取元素满足总和等于某值,如果
Jeet173
·
2023-04-05 00:03
leetcode
c++
算法
力扣刷题笔记
21——两个链表的第一个公共节点/栈方法和双指针法
两个链表的第一个公共节点/栈方法和双指针法问题我的代码(栈)示例代码(双指针)问题来自力扣:输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点c1开始相交。示例1:输入:intersectVal=8,listA=[4,1,8,4,5],listB=[5,0,1,8,4,5],skipA=2,skipB=3输出:Referenceofthenodewithvalue=8输入解释:相交节
电子系的小欣
·
2023-04-05 00:58
算法题
链表
leetcode
数据结构
力扣刷题笔记
:反转字符串ll
Leetcode.541反转字符串II给定一个字符串s和一个整数k,从字符串开头算起,每计数至2k个字符,就反转这2k字符中的前k个字符。如果剩余字符少于k个,则将剩余字符全部反转。如果剩余字符小于2k但大于或等于k个,则反转前k个字符,其余字符保持原样。示例1:输入:s=“abcdefg”,k=2输出:“bacdfeg”示例2:输入:s=“abcd”,k=2输出:“bacd”本题一样可以使用双指
404金城武
·
2023-04-04 21:20
c++
leetcode
【JS
力扣刷题笔记
】344. 反转字符串、541. 反转字符串 II
这是跟着代码随想录的顺序学习算法的第十天。以下是学习题解时自己的一些理解与笔记,有错误欢迎指正与讨论。344.反转字符串、541.反转字符串II参考相关链接:344.反转字符串541.反转字符串II代码随想录笔记344.反转字符串这题思路很简单,主要是代码随想录里面大佬写的JS版本又双叒叕秀了我一下。。。//自己写的varreverseString=function(s){for(vari=0;i
Jamcy123
·
2023-04-04 20:13
leetcode
javascript
算法
力扣刷题笔记
题目概述123题买卖股票的最佳时机3给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入:prices=[3,3,5,0,0,3,1,4]输出:6解释:在第4天(股票价格=0)的时候买入,在第6天(股票价格=3)的时候卖出,这笔交易所能获得利润=3
收割稻草的假面骑士
·
2023-01-07 11:53
leetcode
蓝桥杯
p2p
力扣刷题笔记
文章目录前言学习路线时间/空间复杂度数组知识点力扣27题-移除元素力扣59题-螺旋矩阵力扣209题-长度最小子数组力扣977题-有序数组平方排序链表知识点力扣19题-删除链表的倒数第N个节点力扣24题-两两交换链表值力扣25题-K个一组翻转链表力扣141题-环形链表142题-环形链表二总结前言本博客仅做学习笔记,如有侵权,联系后即刻更改科普:学习路线参考文章时间/空间复杂度参考文章时间复杂度时间复
old-handsome
·
2022-11-18 09:12
力扣刷题
算法
力扣刷题笔记
:5638. 吃苹果的最大数目(堆,算法搬运,这题还挺难的。。。)
题目:5638.吃苹果的最大数目有一棵特殊的苹果树,一连n天,每天都可以长出若干个苹果。在第i天,树上会长出apples[i]个苹果,这些苹果将会在days[i]天后(也就是说,第i+days[i]天时)腐烂,变得无法食用。也可能有那么几天,树上不会长出新的苹果,此时用apples[i]==0且days[i]==0表示。你打算每天最多吃一个苹果来保证营养均衡。注意,你可以在这n天之后继续吃苹果。给
CV干饭王
·
2022-10-23 18:57
刷题笔记
leetcode
python
力扣刷题笔记
:66.加一(队列存结果,判断进位符,详细注释,速度超94%)
题目:66、加一给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位,数组中每个元素只存储单个数字。你可以假设除了整数0之外,这个整数不会以零开头。示例1:输入:digits=[1,2,3]输出:[1,2,4]解释:输入数组表示数字123。示例2:输入:digits=[4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字4321。示例3:输入:di
CV干饭王
·
2022-05-29 21:16
刷题笔记
leetcode
python
力扣刷题笔记
目录题目来源:刷题力扣第33题、搜索旋转排序数组官方思路:二分搜索代码力扣[面试题56-I]、数组中数字出现次数官方思路:分组位运算代码力扣第11题、盛最多水的容器官方思路:双指针代码力扣第1095题、山脉数组中查找目标值官方思路:二分查找代码题目来源:力扣:力扣官网,题目和解题思路著作权归领扣网络所有。刷题力扣第33题、搜索旋转排序数组假设按照升序排序的数组在预先未知的某个点上进行了旋转。(例如
Rotark
·
2022-05-29 21:09
刷题
算法
数据结构
【
力扣刷题笔记
(二)】特别技巧,模块突破,45道经典题目分类总结,在不断巩固中精进
还没掌握的可以从这里开始哦:【
力扣刷题笔记
】由简到难,模块突破,你与AC只差一句提示。
ly甲烷
·
2022-05-29 21:23
Java数据结构与算法
leetcode
算法
数据结构
一周
力扣刷题笔记
一周
力扣刷题笔记
(10月31日)这周的刷题主要是针对于栈的内容进行的,也包括了一些对于链表知识的整理与回顾旋转链表给你一个链表的头节点head,旋转链表,将链表每个节点向右移动k个位置。
撒冷才不是小小蒙
·
2022-04-26 20:48
leetcode
算法
职场和发展
力扣刷题笔记
-1
力扣刷题笔记
数组&链表前缀和数组303.区域和检索-数组不可变给定一个整数数组nums,处理以下类型的多个查询:计算索引left和right(包含left和right)之间的nums元素的和,其中left
komorebi-JCE
·
2022-04-26 20:17
算法练习
java
算法
【
力扣刷题笔记
】由简到难,模块突破, 你与AC只差一句提示
必会基础部分,可以收藏下来慢慢看。文章目录一、易懂贪心算法分配问题455.分发饼干分发糖果区间问题435.无重叠区间练习题605.种花问题452.用最少数量的箭引爆气球763.划分字母区间122.买卖股票最佳时机Ⅱ406.根据身高重建队列665.非递减数列二、玩转双指针经典题目167.两数之和Ⅱ88.合并两个有序数组142.环形链表Ⅱ76.最小覆盖子串练习题680.验证回文字符串Ⅱ633.平方数之
ly甲烷
·
2022-04-26 20:46
Java数据结构与算法
数据结构
算法
java
力扣刷题笔记
——— 两数之和(简单)和整数反转(上)
力扣第一周第一题:两数之和:第一题自己第一次敲出的代码:及其错误原因分析,引以为鉴/**#1两数之和*/packageleetcode.daily;publicclassDaily0{classSolution{publicint[]twoSum(int[]nums,inttarget){for(inti=0;itarget,但是程序却跳过了!/**32/55个通过测试用例状态:解答错误提交时间:
傻根根呀
·
2022-03-18 10:12
力扣刷题(初识)
leetcode
算法
1024程序员节
java
经验分享
力扣刷题笔记
:二叉树遍历(9)
144.二叉树的前序遍历(深搜、栈)递归:classSolution{public:vectorans;vectorpreorderTraversal(TreeNode*root){dfs(root);returnans;}voiddfs(TreeNode*root){if(root==NULL)return;ans.push_back(root->val);dfs(root->left);dfs
杰尼鬼头大
·
2021-08-16 00:25
力扣刷题
力扣刷题笔记
:数学推导、算法(11)
7.整数反转(逐位运算)先判断当前反转后的数是否超过范围,若在范围内则逐位反转intreverse(intx){intrev=0;while(x!=0){if(revINT_MAX/10)return0;intdigit=x%10;x/=10;rev=rev*10+digit;}returnrev;}9.回文数(逐位运算)1、先进行边界判断,为0或者末位为0则返回2、只反转一半即可,防止全部反转超
杰尼鬼头大
·
2021-08-08 17:46
力扣刷题
4-6 LC103二叉树的锯齿形层序遍历 C++ python
力扣刷题笔记
LC103二叉树的锯齿形层序遍历LC1031.读题给定一个二叉树,返回其节点值的锯齿形层序遍历。先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行2.思路一看题啊又是熟悉的层序遍历变了个花样又拿来考我[doge]那么我们继续修改广度优先搜索对二叉树进行逐层遍历另外我们使用双端队列collections.deque()维护当前层的所有元素对每层节点的进入队列时的存储我们维护一个变量i
不喜欢敲代码的小提琴手不是好程序猿
·
2021-04-19 00:45
一个菜鸡的力扣刷题之路
队列
二叉树
c++
数据结构
算法
4-5 LC102 107 二叉树的层序遍历I II C++ python
力扣刷题笔记
文章目录LC102二叉树的层序遍历1.读题2.思路3.C++代码4.python代码LC107二叉树的层序遍历II1.读题2.思路3.C++代码4.python代码LC102二叉树的层序遍历LC1021.读题给你一个二叉树,请你返回其按层序遍历得到的节点值。(即逐层地,从左到右访问所有节点)。2.思路和剑指32II相同的题当然也是相同的思路~3.C++代码跟剑指Offer32II一模一样滴又敲了一
不喜欢敲代码的小提琴手不是好程序猿
·
2021-04-18 02:28
一个菜鸡的力扣刷题之路
二叉树
队列
算法
leetcode
数据结构
4-4 剑指Offer32-I&II 从上到下打印二叉树I&II C++ python
力扣刷题笔记
文章目录剑指Offer32-I从上到下打印二叉树![中等难度](https://img-blog.csdnimg.cn/20210416214607903.png)1.读题2.思路算法流程3.C++代码4.python代码剑指Offer32-II从上到下打印二叉树II![简单难度](https://img-blog.csdnimg.cn/20210416213935992.png)1.读题2.思路
不喜欢敲代码的小提琴手不是好程序猿
·
2021-04-17 15:24
一个菜鸡的力扣刷题之路
算法
二叉树
数据结构
leetcode
剑指Offer
4-1 LC144 二叉树的前序遍历 C++ python
力扣刷题笔记
LC144二叉树的前序遍历1.读题给我们二叉树的根节点root要求返回节点值的前序遍历提示:树中节点数目在范围[0,100]内-100&res){if(root==NULL)return;//如果碰到空节点递归终止//递归出口是必要的!res.push_back(root->val);//将根节点值放到结果数组中//res.push_back(xxx)在数组res的末尾插入元素xxxpreorde
不喜欢敲代码的小提琴手不是好程序猿
·
2021-04-13 22:27
一个菜鸡的力扣刷题之路
算法
二叉树
c++
数据结构
leetcode
力扣刷题笔记
:331.验证二叉树的前序序列化(深度优先搜索dfs,必能看懂)
题目:331、验证二叉树的前序序列化序列化二叉树的一种方法是使用前序遍历。当我们遇到一个非空节点时,我们可以记录下这个节点的值。如果它是一个空节点,我们可以使用一个标记值记录,例如#。例如,上面的二叉树可以被序列化为字符串“9,3,4,#,#,1,#,#,2,#,6,#,#”,其中#代表一个空节点。给定一串以逗号分隔的序列,验证它是否是正确的二叉树的前序序列化。编写一个在不重构树的条件下的可行算法
cv白嫖王
·
2021-03-12 15:41
刷题笔记
二叉树
leetcode
python
力扣刷题笔记
:105.从前序与中序遍历序列构造二叉树 && 106.从中序与后序遍历序列构造二叉树(递归,详细注释,对比展示,必能看懂)
面试必会:二叉树的前序、中序、后序遍历:https://blog.csdn.net/weixin_44414948/article/details/114646712105、从前序与中序遍历序列构造二叉树根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历preorder=[3,9,20,15,7]中序遍历inorder=[9,3,15,20,7]返回如
cv白嫖王
·
2021-03-12 10:34
刷题笔记
二叉树
leetcode
python
力扣刷题笔记
:110.平衡二叉树(深度优先搜索dfs,必能看懂)
题目:110、平衡二叉树给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1:输入:root=[3,9,20,null,null,15,7]输出:true示例2:输入:root=[1,2,2,3,3,null,null,4,4]输出:false示例3:输入:root=[]输出:true提示:树中的节点数在范
cv白嫖王
·
2021-03-11 21:46
刷题笔记
leetcode
python
力扣刷题笔记
:227.基本计算器 II(栈来处理运算符的优先级,主要是逻辑思路要清晰,代码很简单,小表弟都看懂了)
题目:227、基本计算器II给你一个字符串表达式s,请你实现一个基本计算器来计算并返回它的值。整数除法仅保留整数部分。示例1:输入:s=“3+2*2”输出:7示例2:输入:s="3/2"输出:1示例3:输入:s="3+5/2"输出:5提示:1int:stack=[]num,preSign=0,""#preSign为当前运算符的上一个符号foriinrange(len(s)):ifs[i].isdi
cv白嫖王
·
2021-03-11 10:25
刷题笔记
python
leetcode
力扣刷题笔记
:224.基本计算器(利用栈来处理括号的优先级,主要是逻辑思路要清晰,代码逐行注释,小表弟都看懂了)
题目:224、基本计算器实现一个基本的计算器来计算一个简单的字符串表达式s的值。示例1:输入:s=“1+1”输出:2示例2:输入:s="2-1+2"输出:3示例3:输入:s=“(1+(4+5+2)-3)+(6+8)”输出:23提示:1int:res,num,sign=0,0,1stack=[]forcins:ifc.isdigit():num=num*10+int(c)#应付部分两位数的数字eli
cv白嫖王
·
2021-03-10 10:59
刷题笔记
python
leetcode
力扣刷题笔记
:63.不同路径 II(62.不同路径的加强版,添加了障碍物,还是动态规划,直接套模板,把握好边界即可)
题目:63、不同路径II一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用1和0来表示。示例1:输入:obstacleGrid=[[0,0,0],[0,1,0],[0,0,0]]输
cv白嫖王
·
2021-03-09 22:58
刷题笔记
动态规划
python
leetcode
力扣刷题笔记
:62.不同路径(动态规划经典题,直接套模板)
题目:62、不同路径一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例1:输入:m=3,n=7输出:28示例2:输入:m=3,n=2输出:3解释:从左上角开始,总共有3条路径可以到达右下角。向右->向下->向下向下->向下->向右向下->向右->
cv白嫖王
·
2021-03-09 21:27
刷题笔记
动态规划
python
leetcode
力扣刷题笔记
:232.用栈实现队列(只使用栈的基本操作,很容易理解)
题目:232、用栈实现队列请你仅使用两个栈实现先入先出队列。队列应当支持一般队列的支持的所有操作(push、pop、peek、empty):实现MyQueue类:voidpush(intx)将元素x推到队列的末尾intpop()从队列的开头移除并返回元素intpeek()返回队列开头的元素booleanempty()如果队列为空,返回true;否则,返回false说明:你只能使用标准的栈操作——也
cv白嫖王
·
2021-03-05 09:22
刷题笔记
leetcode
python
力扣刷题笔记
:「LeetCode」61 - 70题详解
61.旋转链表给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。示例1:输入:1->2->3->4->5->NULL,k=2输出:4->5->1->2->3->NULL解释:向右旋转1步:5->1->2->3->4->NULL向右旋转2步:4->5->1->2->3->NULL示例2:输入:0->1->2->NULL,k=4输出:2->0->1->NULL解释:向右旋转1步:
Java架构师公社
·
2021-02-27 15:53
Java
java
算法
字符串
leetcode
数据结构
上一页
1
2
3
下一页
按字母分类:
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
其他