摘要: 思路: 从底部向上递归高度,若为空节点则返回0,否则返回左右孩子的最大高度+1。再进行高度检查即可,若子树高度差大于1则设置 flag 为 false ,直接退出即可。 递归基:遇到空节点,返回0; AC代码:(ps.这种递归还是有点耗费空间。。) bool flag = 1; unsigned c 阅读全文
posted @ 2021-12-11 02:29 长生、九歌 阅读(26) 评论(0) 推荐(0)
摘要: 思路: 找到 vector 中的最大值的“指针”,用来构建当前节点,然后左子树用 最大值 左边构造,右子树用 最大值 右边构造。 递归基:当 vector 长度为0时即可返回。 AC代码(ps.这个递归方法速度又慢,占用内存又大...可能是传参重新创建了vector的缘故?) 1 void Crea 阅读全文
posted @ 2021-12-11 01:56 长生、九歌 阅读(31) 评论(0) 推荐(0)
摘要: 思路: 给了两个根节点,那不麻烦了。直接把第二棵树加到第一棵上面返回就好了。创建一个递归函数,递归合并就好了。 递归函数写法: 若第二棵子树为空,那加出来的结果和第一棵树相同,故直接返回即可。 若第二棵不为空,但第一棵为空,加出来的结果和第二棵相同,故直接将该点指向第二棵就行了。 两棵都不为空,则根 阅读全文
posted @ 2021-12-11 01:38 长生、九歌 阅读(28) 评论(0) 推荐(0)