1.判断是否为完全二叉树
层次遍历法:(队列)
- 若出现节点 左孩子为空 右孩子不为空 直接不是完全二叉树
- 不双全节点后的所有节点都为叶子节点,他才是完全二叉树
2.递归法
首先三个重要辅助条件
- 是否为满二叉树
- 是否为完全二叉树
- 当前树高度
判断条件:
- 当前节点的左右子树是否都是 满二叉树
- 左满右完 左高右
- 左完右满 左高右
- 左满右完 左右同
首先
2.给定两个节点 找他们的共同祖先
- 思路1:
- 利用哈希表和递归 先深度遍历制作 当前节点-父节点 哈希表
- 将第一个节点的所有连续父节点加入集合中 将第二个节点每一个父节点和刚才的集合一一比对
思路二:递归
这种递归返回的信息想要多少就多少,递归的套路就是 明确返回什么 以及这种结果应该怎么设置
贪心算法
1.找最小字典序
找最小字典序,全排列法,把所有可能的字典序排列出来,对每一个进行验证
另一种做法,贪心算法,根据字典序大小排起来在组合