剑指offer刷题记录49--二叉树的深度I
该系列博客内容主要是《剑指Offer》中的经典题目,结合在刷题过程中见到的一些精彩的解题过程,从而在这里记录下来。代码以Python3实现。
解题思路1 DFS递归实现
关于空间复杂度O(N)的理解:在递归的时候,系统也是需要使用栈空间。例如本题,每开启一个递归函数,都需要保存root(还需要保存其他的,有兴趣可以查看力扣探索里的递归复杂度分析),因此如果二叉树退化成链表,递归就会累计N的深度,临时保存N个root和“其他东西”,因此复杂度是O(N)。
解题思路2 层序遍历
参考链接