如何优化[牛客算法总结]中的修剪叶子操作?
- 内容介绍
- 文章标签
- 相关推荐
本文共计463个文字,预计阅读时间需要2分钟。
:二叉树递归题目
内容:给定一棵有 nn 个节点的二叉树,其根节点为 root。请编写一个函数,计算并返回这棵二叉树的节点数量。
标签二叉树、递归题目有一棵有\mathitnn个节点的二叉树其根节点为\mathitrootroot。修剪规则如下:1.修剪掉标签
二叉树、递归
题目
有一棵有\mathit nn个节点的二叉树其根节点为\mathit rootroot。修剪规则如下: 1.修剪掉当前二叉树的叶子节点但是不能直接删除叶子节点 2.只能修剪叶子节点的父节点修剪了父节点之后叶子节点也会对应删掉 3.如果想在留下尽可能多的节点前提下修剪掉所有的叶子节点。请你返回修剪后的二叉树。 有如下二叉树:
o/ \o o/ \ / \o o o o
修剪过后仅会留下根节点。
示例1
输入{1,1,1,1,1,1,1} 返回值{1}
说明叶子节点为最下面的4个1节点但是不能直接修剪只能修剪中间的2个1修剪掉之后只有根节点了
示例2
输入{1,#,1,#,1,#,1,#,1} 返回值{1,#,1,#,1}
说明退化为一条链了将最后两个节点删除。
本文共计463个文字,预计阅读时间需要2分钟。
:二叉树递归题目
内容:给定一棵有 nn 个节点的二叉树,其根节点为 root。请编写一个函数,计算并返回这棵二叉树的节点数量。
标签二叉树、递归题目有一棵有\mathitnn个节点的二叉树其根节点为\mathitrootroot。修剪规则如下:1.修剪掉标签
二叉树、递归
题目
有一棵有\mathit nn个节点的二叉树其根节点为\mathit rootroot。修剪规则如下: 1.修剪掉当前二叉树的叶子节点但是不能直接删除叶子节点 2.只能修剪叶子节点的父节点修剪了父节点之后叶子节点也会对应删掉 3.如果想在留下尽可能多的节点前提下修剪掉所有的叶子节点。请你返回修剪后的二叉树。 有如下二叉树:
o/ \o o/ \ / \o o o o
修剪过后仅会留下根节点。
示例1
输入{1,1,1,1,1,1,1} 返回值{1}
说明叶子节点为最下面的4个1节点但是不能直接修剪只能修剪中间的2个1修剪掉之后只有根节点了
示例2
输入{1,#,1,#,1,#,1,#,1} 返回值{1,#,1,#,1}
说明退化为一条链了将最后两个节点删除。

![如何优化[牛客算法总结]中的修剪叶子操作?](/imgrand/rwmGmcHM.webp)