Lei Xia

Sr. Software Engineer | Solution Architect

抒写代码,尽享生活,筑就未来。

订阅 · 赞赏

avatar

基数排序算法

2022年12月30日 · 282 字 · 2 分钟

基数排序又叫桶排序,是一种时间复杂度为$O(n)$的排序算法,但是相比于其他排序算法有$O(n)$的空间复杂度。 思路 基数排序的核心思路如下: 准备0~9的10个桶,根据数字当前比较位的值来决定放入哪个桶。如当前比较个位,则数字13应该放入索引为3的桶中;当前比较百位,则123应该放入索引为1的桶中。 当所有数字全部放入桶之后,遍历0~9这10个桶,然后依次将数字保存到待排序数组,因为桶是有序的,所以本轮放回去的数字是有序的。 当前比较的位数左移,比如本轮比较个位,下一轮应该比较百位。 重复步骤1~3。 举例 现在我们来看一个实际例子。

算法篇-leetcode 131 分割回文串

2022年3月17日 · 630 字 · 3 分钟

题目 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。

LeetCode109——有序链表转换二叉搜索树

2022年2月8日 · 292 字 · 2 分钟

题目 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。

LeetCode103——二叉树的锯齿形层序遍历

2022年2月6日 · 149 字 · 1 分钟

题目 给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。

LeetCode107——二叉树的层序遍历 II

2022年2月6日 · 138 字 · 1 分钟

题目 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

LeetCode95——不同的二叉搜索树 II

2022年2月6日 · 138 字 · 1 分钟

题目 给你一个整数 n ,请你生成并返回所有由 n 个节点组成且节点值从 1 到 n 互不相同的不同 二叉搜索树 。可以按 任意顺序 返回答案。

LeetCode98——验证二叉搜索树

2022年2月6日 · 110 字 · 1 分钟

题目 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: