
BFS
AAS48
一起学算法
展开
-
6182. 反转二叉树的奇数层(层次遍历)
例如,假设第 3 层的节点值是 [2,1,3,4,7,11,29,18] ,那么反转后它应该变成 [18,29,11,7,4,3,1,2]。用层次遍历,拿到每一层的序列。然后把奇数层用链表串起来,将问题转化为逆置链表即可。可以直接在树上进行修改。给你一棵 完美 二叉树的根节点 root ,请你反转这棵树中每个 奇数 层的节点值。完美 二叉树需满足:二叉树的所有父节点都有两个子节点,且所有叶子节点都在同一层。节点的 层数 等于该节点到根节点之间的边数。反转后,返回树的根节点。原创 2022-09-18 12:01:46 · 383 阅读 · 0 评论 -
剑指 Offer II 043. 往完全二叉树添加节点(层次遍历)
CBTInserter.insert(int v) 向树中插入一个新节点,节点类型为 TreeNode,值为 v。使树保持完全二叉树的状态,并返回插入的新节点的父节点的值;完全二叉树是每一层(除最后一层外)都是完全填充(即,节点数达到最大,第 n 层有 2n-1 个节点)的,并且所有的节点都尽可能地集中在左侧。CBTInserter(TreeNode root) 使用根节点为 root 的给定树初始化该数据结构;CBTInserter.get_root() 将返回树的根节点。这样找父亲的话会非常方便。原创 2022-09-11 12:42:43 · 333 阅读 · 0 评论 -
Leetcode 1609. 奇偶树(层次遍历BFS)
由于 0 层和 2 层上的节点值都是奇数且严格递增,而 1 层和 3 层上的节点值都是偶数且严格递减,因此这是一棵奇偶树。二叉树根节点所在层下标为 0 ,根的子节点所在层下标为 1 ,根的孙节点所在层下标为 2 ,依此类推。输入:root = [1,10,4,3,null,7,9,12,8,6,null,null,2]注意判断条件:1、奇数层要求所有节点都是偶数,偶数层要求所有节点都是奇数。偶数下标 层上的所有节点的值都是 奇 整数,从左到右按顺序 严格递增。3 层:[12,8,6,2]原创 2022-09-06 13:10:10 · 104 阅读 · 0 评论 -
leetcode 419. 甲板上的战舰(广搜)
换句话说,战舰只能按 1 x k(1 行,k 列)或 k x 1(k 行,1 列)的形状建造,其中 k 可以是任意大小。两艘战舰之间至少有一个水平或垂直的空位分隔 (即没有相邻的战舰)。给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 ‘X’ 或者是一个空位 ‘.’ ,返回在甲板 board 上放置的 战舰 的数量。输入:board = [[“X”,“.”,“.”,“X”],[“.”,“.”,“.”,“X”],[“.”,“.”,“.”,“X”]]原创 2022-09-05 17:01:08 · 125 阅读 · 0 评论 -
Leetcode 1020. 飞地的数量 (广搜模板题)
给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格、1 表示一个陆地单元格。一次 移动 是指从一个陆地单元格走到另一个相邻(上、下、左、右)的陆地单元格或跨过 grid 的边界。返回网格中 无法 在任意次数的移动中离开网格边界的陆地单元格的数量。如果其中有一个节点到达边界,那么最后返回节点个数。搜索的过程中要记录节点个数。原创 2022-09-05 13:10:26 · 152 阅读 · 0 评论 -
面试题 04.03. 特定深度节点链表(链表+层次遍历)
给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表)。返回一个包含所有深度的链表的数组。先用层次遍历确定 哪些节点在哪些层次上。提示:单链表插入时可以用一个尾指针,比较方便。最后返回的结果是:若干条链表。所谓链表数组,意思就是,再构造每一层的链表。原创 2022-09-01 22:06:08 · 218 阅读 · 0 评论 -
面试题 08.10. 颜色填充(广搜模板)
待填充的图像用二维数组 image 表示,元素为初始颜色值。初始坐标点的行坐标为 sr 列坐标为 sc。需要填充的新颜色为 newColor。从起点开始向四个方向泛洪。只要发现有目标颜色的点,就把他替换成newColor。「周围区域」是指颜色相同且在上、下、左、右四个方向上存在相连情况的若干元素。编写函数,实现许多图片编辑软件都支持的「颜色填充」功能。请用新颜色填充初始坐标点的周围区域,并返回填充后的图像。...原创 2022-09-01 13:08:24 · 81 阅读 · 0 评论 -
蓝桥杯:历届试题 合根植物(BFS)
历届试题 合根植物时间限制:2.0s 内存限制:256.0MB提交此题问题描述 w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。 这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体。如果我们告诉你哪些小格子间出现了连根现象,你能说出这个园中一共有多少株合根植物吗?输入格式 第一...原创 2019-03-11 16:35:51 · 584 阅读 · 0 评论 -
HDU 2717 Catch That Cow(简单BFS)
Problem DescriptionFarmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a po...原创 2019-02-18 14:08:39 · 167 阅读 · 0 评论 -
HDU 1548 A strange lift(BFS)
Problem DescriptionThere is a strange lift.The lift can stop can at every floor as you want, and there is a number Ki(0 <= Ki <= N) on every floor.The lift have just two buttons: up and down.Wh...原创 2019-02-11 11:07:52 · 218 阅读 · 0 评论 -
HDU 1242 Rescue(BFS)
Problem DescriptionAngel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M <= 200) matrix. There are WALLs, ROADs, and GUARDs in the prison.Ange...原创 2019-02-10 12:25:04 · 218 阅读 · 0 评论 -
HDU 1195 Open the Lock(BFS)
Problem DescriptionNow an emergent task for you is to open a password lock. The password is consisted of four digits. Each digit is numbered from 1 to 9.Each time, you can add or minus 1 to any digi...原创 2019-02-09 17:22:36 · 190 阅读 · 0 评论 -
HDU 1241 Oil Deposits(BFS)
这题也是用bfs可以很轻松的搞定计数的思路和bfs里面典型的那个小岛问题没区别附上AC代码往八个方向泛洪#include&amp;lt;iostream&amp;gt;#include&amp;lt;queue&amp;gt;using namespace std;int m, n;char maze[101][101];int tag[101][101];struct Node{ int x原创 2019-01-26 17:11:50 · 189 阅读 · 0 评论