文章 2023-02-23 来自:开发者社区

每日一题---力扣剑指Offer 27.二叉树的镜像(Java)

代码public TreeNode mirrorTree(TreeNode root) { if (root == null) { return null; } TreeNode temp; temp = root.left; root.left = root.right; r...

每日一题---力扣剑指Offer 27.二叉树的镜像(Java)
文章 2023-01-17 来自:开发者社区

LeetCode:1219.黄金矿工(Java语言)

1219.黄金矿工你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 m * n 的网格 grid 进行了标注。每个单元格中的整数就表示这一单元格中的黄金数量;如果该单元格是空的,那么就是 0。为了使收益最大化,矿工需要按以下规则来开采黄金:每当矿工进入一个单元,就会收集该单元格中的所有黄金。矿工每次可以从当前位置向上下左右四个方向走。每个单元格只能被开采(进入)一次。不得....

LeetCode:1219.黄金矿工(Java语言)
文章 2023-01-17 来自:开发者社区

LeetCode:77.组合(Java语言)

77.组合给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]解题思路:和全排列算法差不多当临时遍历达到k值,将它计入startIndex为开始的下标每当遍历一次,下标+1,添加下一个元素当本次元素添加完后,清除本个元素,继续下次搜索代码:/** *作者.....

文章 2023-01-17 来自:开发者社区

LeetCode:62.不同路径(Java语言)

62.不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例1:输入: m = 3, n = 2输出: 3解释:从左上角开始,总共有 3 条路径可以到达右下角。1.向右 -> 向右 -> 向下2.向右 -> 向....

LeetCode:62.不同路径(Java语言)
文章 2023-01-17 来自:开发者社区

LeetCode:199.二叉树的右视图(Java语言)

199.二叉树的右视图给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:解题思路:利用广度优先遍历将遍历的节点存入队列中但是和层序不同,本题优先将右节点入队,从右向左看,如果根节点存在右孩子,则左孩子看不见,如果没有,则输出左孩子,所以优先将右孩子入队进行一个循环,处理每层的节点,将每层第一个入队的节点输出代码:/** *作者:魏宝航 *2020...

LeetCode:199.二叉树的右视图(Java语言)
文章 2023-01-17 来自:开发者社区

LeetCode:116.填充每个节点的下一个右侧节点指针(Java语言)

116.填充每个节点的下一个右侧节点指针给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针....

LeetCode:116.填充每个节点的下一个右侧节点指针(Java语言)
文章 2023-01-17 来自:开发者社区

LeetCode:46.全排列(Java语言)

46.全排列给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]解题思路:ans集合存储所有结果可能temp存储每个可能结果vis数组存储每个位置是否被访问过k==length说明产生了一种结果,则把这种结果加入集合中利用深度优先遍历,将每个位置访问,形成新的结....

LeetCode:46.全排列(Java语言)
文章 2023-01-17 来自:开发者社区

LeetCode:136.只出现一次的数字(Java语言)

136.只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?解题思路:方法1:利用位运算符比较强大利用异或运算法性质(1):0与任何数异或都得另外的那个数性质(2):1异或任何数=任何数取反性质(3):满足交换律和结合律1 xor 2 xor 3 xor 2 =....

LeetCode:136.只出现一次的数字(Java语言)
文章 2023-01-17 来自:开发者社区

LeetCode:559.N叉树的最大深度(Java语言)

559.N叉树的最大深度给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。例如,给定一个 3叉树 :我们应返回其最大深度,3。解题思路:利用深度优先遍历max代表此时能够到达的深度最大值depth为每次向下递归加1,表示深度+1直到它为叶子节点为止,进行回溯代码:/** *作者:魏宝航 *2020年11月25日,上午8:04 */ class S...

LeetCode:559.N叉树的最大深度(Java语言)
文章 2023-01-17 来自:开发者社区

LeetCode 392.判断子序列(Java语言)

392.判断子序列给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例1:....

LeetCode 392.判断子序列(Java语言)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注