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
hot100
LeetCode
Hot100
25.K个一组翻转链表
题目:给你链表的头节点head,每k个节点一组进行翻转,请你返回修改后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。方法:灵神翻转链表代码:classSolution{publicListNodereverseKGroup(ListNodehead,intk){intn
hn小菜鸡
·
2023-12-15 21:02
算法刷题-链表
leetcode
链表
算法
LeetCode
Hot100
146.LRU缓存
题目:请你设计并实现一个满足LRU(最近最少使用)缓存约束的数据结构。实现LRUCache类:LRUCache(intcapacity)以正整数作为容量capacity初始化LRU缓存intget(intkey)如果关键字key存在于缓存中,则返回关键字的值,否则返回-1。voidput(intkey,intvalue)如果关键字key已经存在,则变更其数据值value;如果不存在,则向缓存中插入
hn小菜鸡
·
2023-12-15 11:12
算法刷题-链表
leetcode
缓存
java
LeetCode
Hot100
148.排序链表
题目:给你链表的头结点head,请将其按升序排列并返回排序后的链表。classSolution{publicListNodesortList(ListNodehead){returnsortList(head,null);}privateListNodesortList(ListNodehead,ListNodetail){if(head==null)returnnull;if(head.next
hn小菜鸡
·
2023-12-15 09:22
算法刷题-链表
leetcode
链表
算法
【算法
Hot100
系列】无重复字符的最长子串
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
檀越剑指大厂
·
2023-12-14 21:39
s6
算法与数据结构
算法
LeetCode
Hot100
78.子集
题目:给你一个整数数组nums,数组中的元素互不相同。返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。你可以按任意顺序返回解集。方法:灵神选or不选classSolution{privatefinalList>ans=newArrayListpath=newArrayList>subsets(int[]nums){this.nums=nums;dfs(0);returnans;}//注意
hn小菜鸡
·
2023-12-14 15:30
算法刷题-回溯
leetcode
算法
数据结构
力扣
hot100
最小覆盖子串 滑动窗口 字符计数
题目地址ACcodeclassSolution{publicStringminWindow(Strings,Stringt){intn=s.length();intm=t.length();if(n0)//在t串中出现过的字符才减,减到0即止m--;cnt[c]--;//当前子串抵消t串的字符统计while(m==0)//当前子串完全覆盖完t串{if(r-l
兑生
·
2023-12-04 20:58
力扣
hot100
leetcode
算法
职场和发展
力扣
hot100
滑动窗口最大值 单调队列
题目地址ACcodeclassSolution{publicint[]maxSlidingWindow(int[]nums,intk){intn=nums.length;int[]res=newint[n-k+1];//单调递减队列int[]q=newint[n];//q数组维护的是元素在nums数组对应的下标inth=0,t=-1;for(inti=0;iq[h])//队头滑出窗口h++;wh
兑生
·
2023-12-04 20:28
力扣
hot100
leetcode
算法
java
力扣
hot100
最大子数组和 动态规划 分治 无后效性 子问题划分
题目地址无后效性为了保证计算子问题能够按照顺序、不重复地进行,动态规划要求已经求解的子问题不受后续阶段的影响。这个条件也被叫做「无后效性」。换言之,动态规划对状态空间的遍历构成一张有向无环图,遍历就是该有向无环图的一个拓扑序。有向无环图中的节点对应问题中的「状态」,图中的边则对应状态之间的「转移」,转移的选取就是动态规划中的「决策」。关键1:理解题意题目要我们找出和最大的连续子数组的值是多少,「
兑生
·
2023-12-04 19:55
力扣
hot100
leetcode
动态规划
算法
LeetCode
Hot100
31.下一个排列
题目:整数数组的一个排列就是将其所有成员以序列或线性顺序排列。例如,arr=[1,2,3],以下这些都可以视作arr的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。整数数组的下一个排列是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的下一个排列就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列
hn小菜鸡
·
2023-12-03 02:38
算法刷题-技巧
leetcode
算法
职场和发展
LeetCode
Hot100
75.颜色分类
题目:给定一个包含红色、白色和蓝色、共n个元素的数组nums,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数0、1和2分别表示红色、白色和蓝色。必须在不使用库内置的sort函数的情况下解决这个问题。方法:双指针classSolution{publicvoidsortColors(int[]nums){intn=nums.length;intp0=0,p1=
hn小菜鸡
·
2023-12-03 02:37
算法刷题-技巧
leetcode
算法
职场和发展
LeetCode
Hot100
287.寻找重复数
题目:给定一个包含n+1个整数的数组nums,其数字都在[1,n]范围内(包括1和n),可知至少存在一个重复的整数。假设nums只有一个重复的整数,返回这个重复的数。你设计的解决方案必须不修改数组nums且只用常量级O(1)的额外空间。方法:快慢指针代码:classSolution{publicintfindDuplicate(int[]nums){intslow=0,fast=0;do{slow
hn小菜鸡
·
2023-12-03 02:01
算法刷题-技巧
leetcode
算法
职场和发展
LeetCode
Hot100
438.找到字符串中所有字母异位词
题目:给定两个字符串s和p,找到s中所有p的异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词指由相同字母重排列形成的字符串(包括相同的字符串)。代码:classSolution{publicListfindAnagrams(Strings,Stringp){intn=s.length(),m=p.length();Listres=newArrayList<>();if(n
hn小菜鸡
·
2023-11-30 23:56
算法刷题-滑动窗口
leetcode
算法
职场和发展
LeetCode
Hot100
3.无重复字符的最长子串
题目:给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。代码:classSolution{publicintlengthOfLongestSubstring(Strings){char[]arr=s.toCharArray();//转换成char[]加快效率(忽略带来的空间消耗)intn=arr.length,ans=0,left=0;boolean[]has=newboolean[1
hn小菜鸡
·
2023-11-30 23:51
算法刷题-滑动窗口
leetcode
算法
职场和发展
【力扣】[热题
HOT100
] 33.搜索旋转排序数组
1.题目整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0&nums,inttarget){//处理特殊情况if(nums.empty())return-1;if(nums.size()==1)returnnums[0]==target?0:-1;intleft=0;intright=nums.size()-1;while(left>1;if(nu
失落的换海迷风
·
2023-11-30 01:27
#
力扣
#
热题HOT100
leetcode
leetcode
hot100
之 搜索旋转排序数组
题目给定一个旋转过的升序数组,如[1,2,3,4,5]经过旋转后变成[3,4,5,1,2],数组中每个数字都不重复。并给定一个target数字,请找出其在数组当中相应的下标,如果没有则返回-1.输入:nums=[4,5,6,7,0,1,2],target=0输出:4原题链接:https://leetcode-cn.com/problems/search-in-rotated-sorted-arra
smallplum123
·
2023-11-30 01:26
LeetCode
leetcode
算法
排序算法
【Leetcode
HOT100
】搜索旋转排序数组 c++
题目描述:整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0&nums,inttarget){intn=nums.size();intleft=0,right=n-1;if(n==1){if(nums[0]==target)return0;return-1;}while(true){if(left>right)return-1;//当left比ri
minus haha
·
2023-11-30 01:52
leetcode
c++
HOT100
二分法
二分法的变种
【
Hot100
】33. 搜索旋转排序数组
33.搜索旋转排序数组中等题但凡是从有序序列中找某个数,第一反应应该是「二分」。一个原本有序的数组在某个点上进行了旋转,其实就是将原本一段升序的数组分为了两段。「二分」的本质是两段性,并非单调性。只要一段满足某个性质,另外一段不满足某个性质,就可以用「二分」。经过旋转的数组,显然前半段满足>=nums[0],而后半段不满足>=nums[0]。我们可以以此作为依据,通过「二分」找到旋转点。class
王六六同学
·
2023-11-30 01:51
leetcode刷题
#
力扣hot
100
leetcode
算法
职场和发展
刷题笔记
Hot100
33. 搜索旋转排序数组
33.搜索旋转排序数组难度:中等数组中存在一个旋转点,在中间的部分分开为左右两半,必定是一边无序,一边有序。此时,只需要在原来的算法上增加判断有序与无序的逻辑,先看看数是不是在有序的那一侧,如果不是,就到另一侧寻找classSolution{publicintsearch(int[]nums,inttarget){intleft=0,right=nums.length-1;while(left<=
春种一粒粟秋收一粒米
·
2023-11-30 01:19
算法
leetcode
数据结构
LeetCode
Hot100
33.搜索旋转排序数组
题目:整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0=nums[start]&&targetnums[mid]){start=mid+1;}else{end=mid-1;}}}return-1;}}
hn小菜鸡
·
2023-11-30 01:17
算法刷题-二分查找
leetcode
算法
数据结构
LeetCode
Hot100
42.接雨水
题目:给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。方法一(相向双指针):竖着计算面积代码:classSolution{publicinttrap(int[]height){intans=0,left=0,right=height.length-1,preMax=0,sufMax=0;while(leftst=newArrayDeque=height[s
hn小菜鸡
·
2023-11-28 21:24
算法刷题-双指针
算法刷题-栈
leetcode
算法
职场和发展
LeetCode
Hot100
739.每日温度
题目:给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。方法(灵神):从右往左遍历,当前元素若大于等于栈顶元素要出栈直至当前元素小于栈顶元素,然后记录ans[i],并把当前元素入栈。代码:classSolution{publicint[]dailyT
hn小菜鸡
·
2023-11-28 21:54
算法刷题-栈
leetcode
算法
职场和发展
LeetCode
Hot100
84.柱状图中最大的矩形
题目:给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为1。求在该柱状图中,能够勾勒出来的矩形的最大面积。方法:代码:classSolution{publicintlargestRectangleArea(int[]hs){intn=hs.length;int[]l=newint[n],r=newint[n];Arrays.fill(l,-1);Arrays.fill(r
hn小菜鸡
·
2023-11-28 21:52
算法刷题-栈
leetcode
算法
职场和发展
LeetCode
Hot100
394.字符串解码
题目:给定一个经过编码的字符串,返回它解码后的字符串。编码规则为:k[encoded_string],表示其中方括号内部的encoded_string正好重复k次。注意k保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数k,例如不会出现像3a或2[4]的输入。代码:classSo
hn小菜鸡
·
2023-11-28 16:24
算法刷题-栈
leetcode
算法
职场和发展
LeetCode
Hot100
20.有效的括号
题目:给定一个只包括'(',')','{','}','[',']'的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。方法:由于栈结构的特殊性,非常适合做对称匹配类的题目。首先要弄清楚,字符串里的括号不匹配有三种情况:第一种情况:已经遍历完了字符串,但是栈不为空,说明有相应的左括号没有右括号来匹配
hn小菜鸡
·
2023-11-28 16:54
算法刷题-栈
leetcode
算法
职场和发展
LeetCode
Hot100
155.最小栈
题目:设计一个支持push,pop,top操作,并能在常数时间内检索到最小元素的栈。实现MinStack类:MinStack()初始化堆栈对象。voidpush(intval)将元素val推入堆栈。voidpop()删除堆栈顶部的元素。inttop()获取堆栈顶部的元素。intgetMin()获取堆栈中的最小元素。方法:用一个变量保存最小值,当有更小的值来的时候,我们只需要把之前的最小值入栈,当前
hn小菜鸡
·
2023-11-28 16:50
算法刷题-栈
leetcode
java
数据结构
LeetCode
Hot100
437.路径总和III
题目:给定一个二叉树的根节点root,和一个整数targetSum,求该二叉树里节点值之和等于targetSum的路径的数目。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。方法(暴力):代码:classSolution{publicintpathSum(TreeNoderoot,inttargetSum){if(root==null){retur
hn小菜鸡
·
2023-11-26 20:51
算法刷题-二叉树
leetcode
算法
数据结构
LeetCode
Hot100
124.二叉树中的最大路径和
题目:二叉树中的路径被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中至多出现一次。该路径至少包含一个节点,且不一定经过根节点。路径和是路径中各节点值的总和。给你一个二叉树的根节点root,返回其最大路径和。代码:classSolution{privateintans=Integer.MIN_VALUE;publicintmaxPathSum(TreeNodero
hn小菜鸡
·
2023-11-26 20:51
算法刷题-二叉树
leetcode
算法
职场和发展
leetcode
hot100
之 二叉树的最近公共祖先
题目给定一个二叉树,以及两个节点p、q。求这两个二叉树的最近公共祖先。一个节点也可以是它自己的祖先。输入:root=[3,5,1,6,2,0,8,null,null,7,4],p=5,q=1输出:3解释:节点5和节点1的最近公共祖先是节点3。原题链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/思路dfs
smallplum123
·
2023-11-26 20:51
LeetCode
leetcode
深度优先
算法
leetcode
hot100
(第二部分) + python(c++)
50-1.乘积最大子数组思路1:找到状态转移方程:maxf[i]:表示在i处最大连乘数minf[i]:表示在i处最小连乘数maxf[i]=max(nums[i],nums[i]*minf[i-1],nums[i]*maxf[i-1])minf[i]=min(nums[i],nums[i]*minf[i-1],nums[i]*maxf[i-1])#maxf[i]:表示在i处最大连乘数#minf[i]
薛定谔的智能
·
2023-11-26 20:20
数据结构与算法
hot100
leetcode
【注释详细,思路清晰】【打卡第29天】leetcode热题
HOT100
之Java实现:236. 二叉树的最近公共祖先
1、题目描述给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个节点p、q,最近公共祖先表示为一个节点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。2、算法分析首先理解二叉树的遍历递归方法。这篇文章写的不错。https://blog.csdn.net/allenchenhh133/article/details/8
晓风残月一望关河萧索
·
2023-11-26 20:19
【算法】
HOT
100
LeetCode
Hot100
236.二叉树的最近公共祖先
题目:给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个节点p、q,最近公共祖先表示为一个节点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”方法(灵神):代码:classSolution{publicTreeNodelowestCommonAncestor(TreeNoderoot,TreeNodep,Tree
hn小菜鸡
·
2023-11-26 20:17
算法刷题-二叉树
leetcode
算法
职场和发展
【力客热题
HOT100
】-【043】105 从前序与中序遍历序列构造二叉树
重点:(1)递归:重点是找到分割对应的左右子树;105.从前序与中序遍历序列构造二叉树难度中等给定两个整数数组preorder和inorder,其中preorder是二叉树的先序遍历,inorder是同一棵树的中序遍历,请构造二叉树并返回其根节点。示例1:输入:preorder=[3,9,20,15,7],inorder=[9,3,15,20,7]输出:[3,9,20,null,null,15,7
昔我往矣wood
·
2023-11-25 21:38
Leetcode
算法
数据结构
leetcode
c++
第13题 力扣LeetCode 热题 HOT 100(105. 从前序与中序遍历序列构造二叉树)
第13题力扣LeetCode热题
HOT100
(105.从前序与中序遍历序列构造二叉树)题目给定一棵树的前序遍历preorder与中序遍历inorder。请构造二叉树并返回其根节点。
weixin_45440200
·
2023-11-25 21:36
算法
二叉树
算法
数据结构
LeetCode 热题 HOT 100之从前序和中序遍历序列构造二叉树
LeetCode热题
HOT100
之从前序和中序遍历序列构造二叉树题目105:给定一棵树的前序遍历preorder与中序遍历inorder。请构造二叉树并返回其根节点。
Rocky_96
·
2023-11-25 21:36
计算机基础
leetcode
算法
leetcode
hot100
之 从前序与中序遍历序列构造二叉树
题目给定两个数组,分别表示前序遍历和中序遍历的结果。根据这两个数组构造二叉树。输入:preorder=[3,9,20,15,7],inorder=[9,3,15,20,7]输出:[3,9,20,null,null,15,7]原题链接:https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-tr
smallplum123
·
2023-11-25 21:34
LeetCode
leetcode
深度优先
算法
LeetCode
Hot100
114.二叉树展开为链表
题目:给你二叉树的根结点root,请你将它展开为一个单链表:展开后的单链表应该同样使用TreeNode,其中right子指针指向链表中下一个结点,而左子指针始终为null。展开后的单链表应该与二叉树先序遍历顺序相同。方法一:先前序遍历,然后再修改左右指针classSolution{publicvoidflatten(TreeNoderoot){Listlist=newArrayList();pre
hn小菜鸡
·
2023-11-25 21:04
算法刷题-二叉树
leetcode
链表
算法
3.12 一轮练习
hot100
(105. 从前序与中序遍历序列构造二叉树 96. 不同的二叉搜索树 )
题一:105.从前序与中序遍历序列构造二叉树链接题目链接:文章链接:关键点前序遍历和中序遍历的特点!!,前序提供了根节点信息,中序的根节点左边是左子树,右边是右子树。编程思路Me:无力扣实战思路一:递归#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.va
国服第二普信男
·
2023-11-25 21:33
一轮复习
leetcode
算法
职场和发展
LeetCode
Hot100
199.二叉树的右视图
题目:给定一个二叉树的根节点root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。方法(灵神):先递归右子树,再递归左子树,在递归的同时记录一个节点个数或者说递归深度,如果递归深度等于答案的长度,那么这个节点就需要记录到答案中,深度小于答案的长度不记录。代码:classSolution{privatefinalListans=newArrayListrightSide
hn小菜鸡
·
2023-11-25 21:33
算法刷题-二叉树
leetcode
算法
职场和发展
LeetCode 热题 HOT 100 第43天:“从前序与中序遍历序列构造二叉树”
继续刷LeetCode热题
HOT100
的题目,并且在博客更新我的solutions。在csdn博客中我会尽量用文字解释清楚,相关Java代码大家可以前往我的个人博客jinhuaiyu.com中查看。
ultimate小锦
·
2023-11-25 21:03
LeetCode
leetcode
算法
二叉树
力扣
hot100
105题从前序与中序遍历序列构造二叉树 打卡
105.从前序与中序遍历序列构造二叉树给定一棵树的前序遍历preorder与中序遍历inorder。请构造二叉树并返回其根节点。示例一:Input:preorder=[3,9,20,15,7],inorder=[9,3,15,20,7]Output:[3,9,20,null,null,15,7]示例二:Input:preorder=[-1],inorder=[-1]Output:[-1]提示:1m
大帅比的小跟班
·
2023-11-25 21:29
leetcode刷题
leetcode
算法
二叉树
递归法
LeetCode
Hot100
105. 从前序与中序遍历序列构造二叉树 106. 从中序与后序遍历序列构造二叉树
分析:构造树可以用递归的方法来根据条件构造:(主要是考虑好递归的边界问题)1.从前序数组里可以知道preorder[0]为根节点2.在中序数组中找到preorder[0]的位置坐标,即preorder[0]==inorder[i]3.1~i是前序左子树范围i+1~preorder.length-1是前序右子树范围4.0~i-1是中序左子树范围i+1~inorder.length-1是中序右子树范围
FlowShip
·
2023-11-25 21:26
leetcode
算法
java
树结构
LeetCode
Hot100
105.从前序与中序遍历序列构造二叉树
题目:给定两个整数数组preorder和inorder,其中preorder是二叉树的先序遍历,inorder是同一棵树的中序遍历,请构造二叉树并返回其根节点。代码:classSolution{privateMapindexMap;publicTreeNodemyBuildTree(int[]preorder,int[]inorder,intpreorder_left,intpreorder_ri
hn小菜鸡
·
2023-11-25 21:54
算法刷题-二叉树
leetcode
算法
职场和发展
LeetCode
Hot100
98.验证二叉搜索树
题目:给你一个二叉树的根节点root,判断其是否是一个有效的二叉搜索树。有效二叉搜索树定义如下:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。方法一(自己想的):BST的中序是有序的,所以将BST中序遍历存入队列,判断队列是否递增classSolution{publicbooleanisValidBST(TreeNoderoot)
hn小菜鸡
·
2023-11-25 09:33
算法刷题-二叉树
leetcode
算法
职场和发展
LeetCode
Hot100
543.二叉树的直径
题目:给你一棵二叉树的根节点,返回该树的直径。二叉树的直径是指树中任意两个节点之间最长路径的长度。这条路径可能经过也可能不经过根节点root。两节点之间路径的长度由它们之间边数表示。方法:灵神代码:classSolution{privateintans;publicintdiameterOfBinaryTree(TreeNoderoot){dfs(root);returnans;}privat
hn小菜鸡
·
2023-11-25 09:03
算法刷题-二叉树
leetcode
算法
职场和发展
LeetCode
Hot100
102.二叉树的层序遍历
题目:给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。方法:迭代classSolution{publicList>levelOrder(TreeNoderoot){if(root==null)returnnewArrayList>();List>ans=newArrayList>();LinkedListqueue=newLinkedList();queue
hn小菜鸡
·
2023-11-25 09:03
算法刷题-二叉树
leetcode
数据结构
算法
LeetCode
Hot100
108.将有序数组转为二叉搜索树
题目:给你一个整数数组nums,其中元素已经按升序排列,请你将其转换为一棵高度平衡二叉搜索树。高度平衡二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过1」的二叉树。方法:classSolution{publicTreeNodesortedArrayToBST(int[]nums){returndfs(nums,0,nums.length-1);}privateTreeNodedfs(
hn小菜鸡
·
2023-11-25 09:03
算法刷题-二叉树
leetcode
数据结构
算法
LeetCode
Hot100
101.对称二叉树
题目:给你一个二叉树的根节点root,检查它是否轴对称。代码:classSolution{publicbooleanisSymmetric(TreeNoderoot){if(root==null||(root.left==null&&root.right==null)){returntrue;}//用队列保存节点LinkedListqueue=newLinkedList();//将根节点的左右孩子
hn小菜鸡
·
2023-11-25 09:02
算法刷题-二叉树
leetcode
算法
职场和发展
LeetCode
Hot100
74.搜索二维矩阵
题目:给你一个满足下述两条属性的mxn整数矩阵:每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。给你一个整数target,如果target在矩阵中,返回true;否则,返回false。方法:该二维矩阵可以看作一个有序的一维数组,然后用二分查找。关键是二维数组的[i][j]如何转换成一维数组的[k]classSolution{publicbooleansearch
hn小菜鸡
·
2023-11-25 09:56
算法刷题-二分查找
leetcode
矩阵
算法
LeetCode
Hot100
226.翻转二叉树
题目:给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。递归:深度优先遍历迭代:广度优先遍历方法:迭代classSolution{publicTreeNodeinvertTree(TreeNoderoot){if(root==null){returnnull;}//将二叉树中的节点逐层放入队列中,再迭代处理队列中的元素LinkedListqueue=newLinkedList();q
hn小菜鸡
·
2023-11-25 07:13
算法刷题-二叉树
leetcode
算法
职场和发展
leetcode/
hot100
文章目录一、哈希1.两数之和2.字母异位词分组3.最长连续序列二、双指针4.移动零5.盛最多水的容器6.三数之和7.接雨水三、滑动窗口8.无重复字符的最长子串9.找到字符串中所有字母异位词四、子串10.和为K的子数组一、哈希1.两数之和1.两数之和classSolution{public:vectortwoSum(vector&nums,inttarget){unordered_mapmp;for
yolo0616
·
2023-11-23 08:41
leetcode
算法
职场和发展
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他