关注Java领域相关技术 记录有趣的事情

广度优先搜索

LeetCode-257. 二叉树的所有路径

问题地址 LeetCode每日一题/2020-09-04 LeetCode257. 二叉树的所有路径 问题描述 规则 给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例1 输入: 1 / \ 2 3 \ 5 输出: 解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3 解析 解题思路 首先想到的方法是深度优先搜索。树节点分两种,叶子节点、非叶子节点,根据不同的节点类型,采用不同的处理方法: 如果当前节点是叶子节点: 将当前节点添加到当前路径末尾; 将得到的一条从根节点到叶子节点的路径,加入到答案; 如果当前节点不是叶…
US-B.Ralph
a year ago

LeetCode-841. 钥匙和房间

问题地址 LeetCode每日一题/2020-08-31 LeetCode841. 钥匙和房间 问题描述 规则 有 $N$ 个房间,开始时你位于 $0$ 号房间。每个房间有不同的号码:$0,1,2,...,N-1$,并且房间里可能有一些钥匙能使你进入下一个房间。 在形式上,对于每个房间 $i$ 都有一个钥匙列表 $rooms$,每个钥匙 $rooms$ 由 $$ 中的一个整数表示,其中 $N = rooms.length$。 钥匙 $rooms = v$ 可以打开编号为 $v$ 的房间。 最初,除 $0$ 号房间外的其余所有房间都被锁住。 你可以自由地在房间之间来回走动。 如果能进入每个房间返…
US-B.Ralph
a year ago

LeetCode-111. 二叉树的最小深度

问题地址 LeetCode每日一题/2020-08-21 LeetCode111. 二叉树的最小深度 问题描述 规则 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例1 给定二叉树 , 3 / \ 9 20 / \ 15 7 返回它的最小深度  2. /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x)…
US-B.Ralph
a year ago

LeetCode-529. 扫雷游戏

问题地址 LeetCode每日一题/2020-08-20 LeetCode529. 扫雷游戏 问题描述 规则 让我们一起来玩扫雷游戏! 给定一个代表游戏板的二维字符矩阵。 'M' 代表一个未挖出的地雷,'E' 代表一个未挖出的空方块,'B' 代表没有相邻(上,下,左,右,和所有4个对角线)地雷的已挖出的空白方块,数字('1' 到 '8')表示有多少地雷与这块已挖出的方块相邻,'X' 则表示一个已挖出的地雷。 现在给出在所有未挖出的方块中('M'或者'E')的下一个点击位置(行和列索引),根据以下规则,返回相应位置被点击后对应的面板: 如果一个地雷('M')被挖出,游戏就结束了- 把它改为 'X…
US-B.Ralph
a year ago

LeetCode-133. 克隆图

问题地址 LeetCode每日一题/2020-08-12 LeetCode133. 克隆图 问题描述 规则 给你无向连通图中一个节点的引用,请你返回该图的深拷贝克隆。 图中的每个节点都包含它的值 val(int) 和其邻居的列表(list)。 class Node { public int val; public List<Node> neighbors; } 测试用例格式 简单起见,每个节点的值都和它的索引相同。例如,第一个节点值为 1(val = 1),第二个节点值为 2(val = 2),以此类推。该图在测试用例中使用邻接列表表示。 邻接列表是用于表示有限图的无序列表的集合。…
US-B.Ralph
a year ago