找左下角的值,路径总和,都会用到回溯。
513 找左下角的值
我有时候会有像depth、sum这些值怎么传进去的问题,关于这道题的depth是在函数里面的形参,在findBottomLeftValue里面初始化一个self.max_depth为float('-inf'). 然后去更新这个self.max_depth
112,113路径总和
看完112之后我自己把113写出来了。赞!
刚开始思考的时候我有一个问题谁怎么去返回False的情况。根据之前做的题,一般在主函数里面如果root为空的话就会返回False,但这只是一种情况。
这道题卡哥的巧妙设计之处在于用count去做减减,如果最终在叶子节点count为0,那么就返回True,如果在叶子节点count不为0,就False。
113就是把之前的好几道题都融合了一下,我用到了count,pop这些元素。
106从中序与后序遍历序列构造二叉树
观察中序和后序的特点:
根节点会出现在后序的最后一个元素,用这个元素去把中序划分成两个part。照此递归下去。
注意构造二叉树: root = TreeNode(idx)