
LeetCode
不重复啊
这个作者很懒,什么都没留下…
展开
-
LeetCode1042. 不邻接植花
不邻接植花题目描述有 N 个花园,按从 1 到 N 标记。在每个花园中,你打算种下四种花之一。paths[i] = [x, y] 描述了花园 x 到花园 y 的双向路径。另外,没有花园有 3 条以上的路径可以进入或者离开。你需要为每个花园选择一种花,使得通过路径相连的任何两个花园中的花的种类互不相同。以数组形式返回选择的方案作为答案 answer,其中 answer[i] 为在第 (i+1) 个花园中种植的花的种类。花的种类用 1, 2, 3, 4 表示。保证存在答案。解题思路有n个花园,原创 2020-08-23 23:25:17 · 152 阅读 · 0 评论 -
LeetCode64. 最小路径和(c++)
最小路径和题目描述给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。解题思路这个题是一个典型的动态规划dp[i][j] = min(dp[i-1][j],dp[i][j-1]) + arr[i][j]dp数组可以直接用原数组然后就是注意初始化,第一行和第一列的每一项原创 2020-08-16 21:04:39 · 427 阅读 · 0 评论 -
LeetCode实现 Trie (前缀树)
实现 Trie (前缀树)题目描述实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。示例:Trie trie = new Trie();trie.insert(“apple”);trie.search(“apple”); // 返回 truetrie.search(“app”); // 返回 falsetrie.startsWith(“app”); // 返回 truetrie.insert(“app”);trie.s原创 2020-08-11 20:10:49 · 206 阅读 · 0 评论 -
LeetCode701. 二叉搜索树中的插入操作(C++)
二叉搜索树中的插入操作题目描述给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 保证原始二叉搜索树中不存在新值。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。例如,给定二叉搜索树: 4 / \ 2 7 / \1 3和 插入的值: 5你可以返回这个二叉搜索树: 4 / \ 2 7 / \ /1 3 5或者这个树原创 2020-08-06 09:45:12 · 252 阅读 · 0 评论 -
LeetCode106. 从中序与后序遍历序列构造二叉树
从中序与后序遍历序列构造二叉树题目描述根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7解题思路先处理右子树,再处理左子树/** * Definition for a binary tree node. * struct TreeNode原创 2020-08-02 19:18:16 · 118 阅读 · 0 评论 -
LeetCode367. 有效的完全平方数
有效的完全平方数题目描述给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。说明:不要使用任何内置的库函数,如 sqrt。示例 1:输入:16输出:True示例 2:输入:14输出:False解题思路:暴力查找class Solution {public: bool isPerfectSquare(int num) { for(long long i=1;i*i<=num;i++)原创 2020-07-30 13:21:51 · 120 阅读 · 0 评论 -
LeetCode191. 位1的个数
题目描述编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。示例 2:输入:00000000000000000000000010000000输出:1解释:输入的二进制串 00000000000000000000000010000000 中,共原创 2020-07-24 10:37:14 · 108 阅读 · 0 评论 -
LeetCode112. 路径总和
路径总和题目描述给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5-&g原创 2020-07-14 11:37:36 · 124 阅读 · 0 评论 -
LeetCode101. 对称二叉树
题目描述给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/symmetric-tree著作权归领扣网络所有。商业转载请联原创 2020-07-11 17:39:47 · 103 阅读 · 0 评论 -
LeetCode35. 搜索插入位置
搜索插入位置题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0代码class Solution {public: int searchInsert(vec原创 2020-07-06 10:58:33 · 130 阅读 · 0 评论 -
LeetCode7. 整数反转
整数反转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。这道题注意点:判断反转数是否在int范围之内,反转数应该用long long,int上限和下限的绝对值不相等,应该判断输入是不是int上原创 2020-07-01 08:43:50 · 112 阅读 · 0 评论 -
LeetCode237. 删除链表中的节点
删除链表中的节点题目描述请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: head = [4,5,1,9], node = 1输出: [4,5,9]解释原创 2020-07-27 09:15:52 · 121 阅读 · 0 评论