题目
解题思路
这应该是二叉树入门题了,关于深度、广度优先遍历之前的博客也讲过,直接上代码。
深度优先遍历 / 递归(即从最深的那个节点开始,往上加,碰到叶节点就比较当前叶节点左右子树最大深度,然后继续往上加直到根节点):
执行结果为:
广度优先遍历 / 迭代(即从根节点开始,有下一层则加1):
核心思想就是,一次性加入当前层所有子节点(如果有的话)然后一次性删除当前层所有节点,直到实际上的队列里面全都是None,不再加入新节点,退出循环。
执行结果为:
这应该是二叉树入门题了,关于深度、广度优先遍历之前的博客也讲过,直接上代码。
深度优先遍历 / 递归(即从最深的那个节点开始,往上加,碰到叶节点就比较当前叶节点左右子树最大深度,然后继续往上加直到根节点):
执行结果为:
广度优先遍历 / 迭代(即从根节点开始,有下一层则加1):
核心思想就是,一次性加入当前层所有子节点(如果有的话)然后一次性删除当前层所有节点,直到实际上的队列里面全都是None,不再加入新节点,退出循环。
执行结果为: