leetcode20专题

LeetCode20天刷题计划之Day9-广度优先搜索 / 深度优先搜索

542. 01 矩阵 给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。两个相邻元素间的距离为 1 。 示例 1: 输入:mat = [[0,0,0],[0,1,0],[0,0,0]]输出:[[0,0,0],[0,1,0],[0,0,0]] 示例 2: 输入:mat = [[0,0,0],[0

LeetCode20天刷题计划之Day8-深度优先搜索二叉树

617. 合并二叉树 给你两棵二叉树: root1 和 root2 。想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。返回合并后的二叉树。 注意: 合并过程必须从两个树的根节点开始。 示

LeetCode20天刷题计划之Day7-深度优先搜索

733. 图像渲染 有一幅以 m x n 二维整数数组表示的图画 image ,其中 image[i][j] 表示该图画的像素值大小。 给予三个整数 sr ,  sc 和 newColor 。你应该从像素 image[sr][sc] 开始对图像进行 上色填充 。 为了完成 上色工作 ,从初始像素开始,记录初始坐标的 上下左右四个方向上 像素值与初始坐标相同的相连像素点,接着再记录这四个方向上

LeetCode20天刷题计划之Day5

876. 链表的中间结点 给定一个头结点为 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val

LeetCode20 有效的括号

题型:栈 题目: 代码: public boolean isValidReview(String s) {//(1)从s的i=0位置一次开始压栈,遇到左括号压栈,不管是大中小三种,左括号,压//(2)遇到右括号,不论大中小括号三种,只要是右括号,就弹出一个括号,必须还要和当前括号匹配才行//(3)一旦无法匹配就false,全体都匹配上了就是true,非常简单!if (s.compareTo