一、题目 给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 二、示例 2.1> 示例 1: 【输入】root = [10,5,-3,3,2,null,11,3,-2,null,1], targetSu
一、题目 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 二、示例 2.1> 示例 1: 【输入】target = 7, nums = [2,3,1,2,4,3] 【输出】2
一、题目 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 二、示例 示例 1: 【输入】grid = [ ["1","1","1","1","
一、题目 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格; 值 1 代表新鲜橘子; 值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1 。 二、示例 2.1> 示例 1: 【输入】grid = [[2,1,1],
一、题目 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。 二、示例 2.1> 示例 1: 【输入】s = "()" 【输出】true 2.2> 示例 2: 【输入】s =
一、题目 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。 展开
一、题目 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 二、示例 2.1> 示例 1: 2.2> 示例 2: 2.3> 示例 3: 提
一、题目 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。 二、示例 2.1> 示例 1: 2.2> 示例 2: 提示: 树中
一、题目 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。 二、示例 2.1> 示例 1: 【输入】root = [3,1,4,null,2], k = 1 【输出】1 2.2> 示例 2: 【输入】root = [5,3,6,2,4,null,null,1], k = 3 【输出】3 提示: 树中
一、题目 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 二、示例 2.1> 示例 1: 【输入】 [1,2,3,null,5,null,4] 【输出】 [1,3,4] 2.2> 示例 2: 【输入】 [1,null,3] 【输出】 [1,3] 2.3> 示例 3: 【输入】 [] 【输出】 [] 提示
一、题目 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。 展开后的单链表应该与二叉树 先序遍历 顺序相同。 二、示例 2.1> 示例 1: 【输入】root = [1,2,5,3,4,null,6] 【输出】[1,null,2,null,3,null,
一、题目 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表
一、题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 二、示例 2.1> 示例 1: 2.2> 示例 2: 2.3> 示例 3: 提示: 链表中节点的数目范围是 [0, 500
一、题目 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树
一、题目 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 二、示例 2.1> 示例 1: 2.2> 示例 2: 提示: 树中节点数目范围在 [1,
一、题目 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起
一、题目 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返
一、题目 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。
一、题目 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两
一、题目 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右
一、题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵
一、题目 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 二、
一、题目 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须2.2> 示例 2: 2
一、题目 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该
一、题目 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以
一、题目 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。 节点的右子树只包含 大于 当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 二、示例 2.1> 示例 1: 【输入】root = [2,1,3] 【输出】true 2.2> 示例 2: 【输入】root =
一、题目 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 二、示例 2.1> 示例 1: 【输入】nums = [-10,-3,0,5,9] 【输出】[0,-3,9,-10,null,5] 【解释】[0,-10,5,null,-3,null,9
一、题目 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 二、示例 2.1> 示例 1: 【输入】root = [3,9,20,null,null,15,7] 【输出】[[3],[9,20],[15,7]] 2.2> 示例 2: 【输入】root = [1] 【输出】[[1]] 2.3> 示例 3: 【输入】root
一、题目 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 二、示例 2.1> 示例 1: 【输入】root = [1,2,3,4,5] 【输出】3 【解释】3 ,取路径 [4,2,1,3] 或 [5,2,1,3] 的长度。 2.2&g
一、题目 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。 void put(int key, int value) 如果关键字
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号