首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法进阶之旅
土豆奥利奥
创建于2023-03-15
订阅专栏
记录自己的算法实现能力提升的过程
等 4 人订阅
共53篇文章
创建于2023-03-15
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
最大二叉树
题目描述 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左
路径总和
题目描述 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,
找树左下角的值
题目描述 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 思路 最底层:深度最大 最左边:从左往右第一个节点 确认遍历顺序:
左叶子之和
题目描述 给定二叉树的根节点 root ,返回所有左叶子之和。 示例: 思路 确认遍历方式:本题前中后序遍历均可,这里使用的是后序遍历 如何判断是叶子节点:叶子节点的左子节点为null,右子节点也为n
二叉树的所有路径
题目描述 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 示例: 思路 因为是求路径,所以使用前序遍历,从根节点开始往下找路径。 遍历到叶子节点之后,拼装路径后
平衡二叉树
题目描述 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 示例: 思路 本题的关键点在于求高度,高度是距离叶子节点的距离,所以使用后序遍历。 代码 总结 本题的难点
求完全二叉树的节点个数
题目描述 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在
求二叉树的最小深度
题目描述 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 示例 1: 思路 这道题跟我们做过的求二叉树的最大深度很相似,那是不是可以用求二叉树的最大深度的思路来做呢? 直接上代码: 此时,我
二叉树的最大深度
题目描述 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 返回它的最大深度 3 。 思路: 二叉树的最大深度
leetcode102. 二叉树的层序遍历
--- theme: channing-cyan --- ## 题目描述 给你二叉树的根节点 `root` ,返回其节点值的 **层序遍历** 。 (即逐层地,从左到右访问所有节点)。 **示例1:*
二叉树的迭代遍历(前中后序)
前言 之前学习了二叉树的递归遍历,接下来学习下二叉树的迭代遍历。 二叉树的前序遍历-迭代法 题目描述 给你二叉树的根节点 root ,返回它节点值的 前序 **遍历。 示例: 思路 按照栈的思路来处理
二叉树的递归遍历-(前中后序)
递归三部曲: 确定递归函数的参数和返回值 确定终止条件 确定单层递归的逻辑 二叉树的前序遍历(递归版)-leetcode 144 题目描述: 给你二叉树的根节点 root ,返回它节点值的 前序遍历。
二叉树的基础知识
前言 在leetcode上刷二叉树的题目之前,应该先掌握一些必须的二叉树的基础知识,这样才能更好的理解题目。 二叉树的主要种类 满二叉树 完全二叉树 二叉搜索树 平衡二叉搜索树 满二叉树 定义: 如果
前 K 个高频元素(leetcode 347)
题目描述 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 示例二: 思路 将数组中每个元素 以及 每个元素出现的频率
环形链表
题目描述 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos
删除链表的倒数第 N 个结点
题目描述 给你一个链表,删除链表的倒数第 n **个结点,并且返回链表的头结点。 示例 2: 示例 3: 思路 采用虚拟头结点,这样删除头结点和其他节点的行为便一致了。 采用双指针法,定义两个指针:q
两两交换链表中的节点
题目表述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 2: 示例 3: 思路(采用虚拟头结点) 初始时,
反转链表
题目描述 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 思路 有两种方法可以实现反转数组,分别是递归法和双指针法,虽然这两种方法不同,但是实现两种方法的思路是一致的。 我们拿有示
设计链表
题目描述 你可以选择使用单链表或者双链表,设计并实现自己的链表。 单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。 如果是双向链
删除链表的节点
题目描述 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 返回删除后的链表的头节点 示例 1: 示例 2: 思考 本题有两种方法去解决,分别是采用虚拟头结点和不采用虚拟头结点。
下一页