- 剑指 Offer 15. 二进制中 1 的个数
编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为 汉明重量).)。
提示:
请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。
- 剑指 Offer 07. 重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。
假设输入的前序遍历和中序遍历的结果中都不含重复的数字。
---
![WX20230711-1454112x.png](https://tools.nxcloud.club:12500/images/2023/07/11/WX20230711-1454112x.png)
---
- 剑指 Offer 41. 数据流中的中位数
如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。
例如,
[2,3,4] 的中位数是 3
[2,3] 的中位数是 (2 + 3) / 2 = 2.5
设计一个支持以下两种操作的数据结构:
void addNu
- 剑指 Offer 54. 二叉搜索树的第 k 大节点
给定一棵二叉搜索树,请找出其中第 k 大的节点的值。
- 剑指 Offer 12. 矩阵中的路径
给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。
单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。
![WX20230707-1001332x.png]
- 剑指 Offer 27. 二叉树的镜像
请完成一个函数,输入一个二叉树,该函数输出它的镜像
```C#
public TreeNode MirrorTree(TreeNode root)
{
if (root == null)
{
return root;
}
var left = MirrorTree(root.left);
v
- 剑指 Offer 09. 用两个栈实现队列
```C#
public class CQueue
{
private Stack __AppendStack = new Stack();
private Stack __DeleteStack = new Stack();
public CQueue()
{
}
public v
- 剑指 Offer 05. 替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
```C#
public string ReplaceSpace(string s)
{
var sb = new StringBuilder();
foreach (var t in s)
{
if (t == ' ')
{
- 剑指 Offer 04. 二维数组中的查找
在一个 n * m 的二维数组中,每一行都按照从左到右 非递减 的顺序排序,每一列都按照从上到下 非递减 的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
---
```C#
//转为二叉树(类似树的思想)
public bool FindNumberIn2DArray(int[][] matr