一、题目 给定一个二叉搜索树的根节点 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,
一、概述 1.1> 整体概览 在前面
一、题目 给定一个链表的头节点 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) 如果关键字
一、题目 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指
一、题目 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 二、示例 2.1> 示例 1: 【输入】head = [1,2,3,4]<br> 【输出】[2,1,4,3] 2.2> 示例 2: 【输入】head = []<br> 【输出】[] 2.3> 示例 3:
一、geospatial地理位置 1.1> 概述 可以用于基于地理位置的业务场景。比如:查询两地之间的距离,方圆几里存在的地理位置等等。 Redis提供了geospatial相关的8个指令,操作如下图
万字长文之HashMap源码解析,内含红黑树相关理论介绍和代码讲解。针对每行代码都有详解的解析介绍。如果大家喜欢,可以关注”爪哇缪斯“,里面有更多原创好文。
在其中
日常产研迭代常见的问题在介绍DDD(Domain-Driven Design:领域驱动设计)之前,我们先回顾一下,现阶段的产品迭代中常常出现的一些问题,以及这些问题会导致什么。通过对问题的总结和分析,再回头看一看,DDD能帮我们解决什么?首先,针对业务价值方面面对繁杂的业务需求和团队中良莠不齐的技术人员,如何确定哪些需求可以真正的传递业务价值?如何去针对业务价值高低进行需求优先级的排序?其次,针对
在单库的情况下,我们可以通过不同的隔离级别,来解决脏读、不可重复读、幻读问题。
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号