一、题目大意给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7],3/\920/\157返回它的最大深度3。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/maximum-depth-of-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。二、解题思路思路:求二叉树的最大深度问题用深度优先搜索DepthFirstSearch,递归的完美应用。思路二:也可以用层序遍历二叉树,然后
一、题目大意给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个节点p、q,最近公共祖先表示为一个节点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”示例1:输入:root=[3,5,1,6,2,0,8,null,null,7,4],p=5,q=1输出:3解释:节点5和节点1的最近公共祖先是节点3。示例2:输入:root=[3,5,1,6,2,0,8,null,null,7,4],p=5,q=4输出:5解释:节点5和节点4的最近公共祖先是节点5。因为根据定义最近公共祖先节点可以为节点本身。示例3:输入:root
一、题目大意给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个节点p、q,最近公共祖先表示为一个节点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”示例1:输入:root=[3,5,1,6,2,0,8,null,null,7,4],p=5,q=1输出:3解释:节点5和节点1的最近公共祖先是节点3。示例2:输入:root=[3,5,1,6,2,0,8,null,null,7,4],p=5,q=4输出:5解释:节点5和节点4的最近公共祖先是节点5。因为根据定义最近公共祖先节点可以为节点本身。示例3:输入:root
一、题目大意给定一个字符串s,统计并返回具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是成组连续的。重复出现(不同位置)的子串也要统计它们出现的次数。示例1:输入:s="00110011"输出:6解释:6个子串满足具有相同数量的连续1和0:"0011"、"01"、"1100"、"10"、"0011"和"01"。注意,一些重复出现的子串(不同位置)要统计它们出现的次数。另外,"00110011"不是有效的子串,因为所有的0(还有1)没有组合在一起。示例2:输入:s="10101"输出:4解释:有4个子串:"10"、"01"、"10"、"01",具有相同数量的
一、题目大意给定一个字符串s,统计并返回具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是成组连续的。重复出现(不同位置)的子串也要统计它们出现的次数。示例1:输入:s="00110011"输出:6解释:6个子串满足具有相同数量的连续1和0:"0011"、"01"、"1100"、"10"、"0011"和"01"。注意,一些重复出现的子串(不同位置)要统计它们出现的次数。另外,"00110011"不是有效的子串,因为所有的0(还有1)没有组合在一起。示例2:输入:s="10101"输出:4解释:有4个子串:"10"、"01"、"10"、"01",具有相同数量的
在上篇随笔《基于SqlSugar的开发框架循序渐进介绍(23)--Winform端管理系统中平滑增加对WebAPI对接的需求 》中介绍了基于一个接口,实现对两种不同接入方式(直接访问数据库实现,基于WebAPI代理类实现)的处理,由于定义的接口中,我们为了方便,也是用了Lambda表达式的进行一些参数的处理,那么如果在WebAPI代理类中,Lambda表达式是不能直接传递给WebAPI的控制器的,那么如何对这个Lambda表达式进行序列化和反序列化还原就是一个急需解决的问题。本篇随笔介绍采用Serialize.Linq第三方组件的方式实现对Lambda表达式进行序列化和反序列化的处理。1、La
在上篇随笔《基于SqlSugar的开发框架循序渐进介绍(23)--Winform端管理系统中平滑增加对WebAPI对接的需求 》中介绍了基于一个接口,实现对两种不同接入方式(直接访问数据库实现,基于WebAPI代理类实现)的处理,由于定义的接口中,我们为了方便,也是用了Lambda表达式的进行一些参数的处理,那么如果在WebAPI代理类中,Lambda表达式是不能直接传递给WebAPI的控制器的,那么如何对这个Lambda表达式进行序列化和反序列化还原就是一个急需解决的问题。本篇随笔介绍采用Serialize.Linq第三方组件的方式实现对Lambda表达式进行序列化和反序列化的处理。1、La
二分查找与二分答案笔记二分查找Binary_Search-唔知叫咩emm-博客园(cnblogs.com)Binary_Search_int.cppBinary_Search_double.cpp基础理论二分查找BinarySearch(也称折半搜索、对数搜索)应用场景,关键词在一个有序数组中查找某一元素的算法看见:排序+查找,就要想到二分查找找区间里面的一个值答案在区间里,就是二分答案,用二分来枚举答案STL的二分查找查找首个不小于给定值的元素的函数std::lower_bound和查找首个大于给定值的元素的函数std::upper_bound,二者均定义于头文件中注意,不能用find()代
二分查找与二分答案笔记二分查找Binary_Search-唔知叫咩emm-博客园(cnblogs.com)Binary_Search_int.cppBinary_Search_double.cpp基础理论二分查找BinarySearch(也称折半搜索、对数搜索)应用场景,关键词在一个有序数组中查找某一元素的算法看见:排序+查找,就要想到二分查找找区间里面的一个值答案在区间里,就是二分答案,用二分来枚举答案STL的二分查找查找首个不小于给定值的元素的函数std::lower_bound和查找首个大于给定值的元素的函数std::upper_bound,二者均定义于头文件中注意,不能用find()代
内容概要序列化器介绍Serializer的使用基本使用(序列化)字段类型字段参数序列化定制序列化的字段反序列化反序列化之新增反序列化之修改反序列化之局部和全局钩子ModelSerializer模型类序列化器ModelSerializer额外添加参数内容详细序列化器介绍QuerySet对象:queryset_obj=models.Book.objects.all()单个对象:book=models.Book.objects.all().first()1、序列化:序列化器会将模型对象(QuerySet对象、单个book对象)转成字典,在经过response的时候序列化成json格式返回给前端。2、