![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
Neko、
这个作者很懒,什么都没留下…
展开
-
LeetCode 平衡二叉树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 提示: 树中的节点数在范围 [0, 5000] 内 -104 <= Node.val <原创 2021-01-21 19:45:53 · 76 阅读 · 0 评论 -
LeetCode 相同的树100
问题描述: 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 1 1 / \原创 2021-01-21 18:52:59 · 79 阅读 · 0 评论 -
LeetCode 二叉树的最大深度104
问题描述: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回它的最大深度 3 。 解答如下: class Solution { public int maxDepth(TreeNode root) { int leftDepth = 0; int rightDepth原创 2021-01-21 17:27:30 · 75 阅读 · 0 评论 -
通过栈判断回文
栈的基本操作 栈的初始化 判断栈是否为空 入栈 出栈 主函数代码 功能快捷键 撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Command + Shift + B 斜体:Ctrl/Command + Shift + I 标题:Ctrl/Command + Shift + H 无序列表:Ctrl/Command + Shift + U 有序列表:...原创 2018-09-28 18:02:35 · 4572 阅读 · 4 评论 -
括号匹配问题
括号匹配问题 首先要清楚括号的使用规则: 出现左括号,必有相应的右括号与之匹配,并且每对括号之间可以嵌套,但不能出现交叉情况。由此,在算法中设置一个栈,每读入一个括号,若是左括号,则直接入栈,等待相匹配的同类右括号;若读入的是右括号,且与当前栈顶的左括号同类型,则二者匹配,将栈顶的左括号出栈,否则属于不合法的情况。此外,输入序列已读完,而栈中仍有等待匹配的左括号,或者读入了一个右括号,而栈中已无等...原创 2018-10-07 15:57:19 · 331 阅读 · 0 评论 -
循环链表——约瑟夫问题
约瑟夫问题 约瑟夫问题具体描述 设有编号为1,2,3,···,n的n(n>0)个人按顺时针方向围坐一圈,每个人手持一个随机产生的密码(正整数)。现从第k个人开始按顺时针的方向从1开始报数,报数上限是第一个人持有的密码m,报到m的人出列。然后将出列人持有的密码作为新的m的值,从下一个人开始重新从1开始报数,如此下去,直到所有人全部出列为止。 约瑟夫问题分析 很显然这是一个线性结构,可以用线性表...原创 2018-10-07 16:25:00 · 1485 阅读 · 0 评论