黑格尔曾经说过:熟知非真知,一直在使用map和set容器,也知道它们的底层是红黑树,但是红黑树究竟是如何实现的?今天剖析了一下红黑树的底层原理,并且动手实现了一棵红黑树。首先...
黑格尔曾经说过:熟知非真知,一直在使用map和set容器,也知道它们的底层是红黑树,但是红黑树究竟是如何实现的?今天剖析了一下红黑树的底层原理,并且动手实现了一棵红黑树。首先...
输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如:前序遍历 preorder = [3,9,20,15,7]...
代码:
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 输入:"23" 输出:["ad", ...
首先,先来看看题目:合并两个排序的链表输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 题目本身不多XX,直接上代码(重要的是,第一次学着用VS s...
先来看看例题:Leetcode120题: 三角形最小路径和给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 例如,给定三角形: 自顶向下的最小...
给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 '''class Solution { public: pr...
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例: 动态数组: 一维动态数组可...
题目描述:给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。 按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:"123""132""...
在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。eg:输入: 4->2->1->3输出: 1->2->3->4size<<=1;等价于size=si...
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。给定有序数组: [-1...
给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 给定二叉树 [3,9,20,null,null,15...
给定一个二叉树,原地将它展开为链表。 例如,给定二叉树 展开后的结果为: 算法思想: 具体代码: