112. 路径总和

本题的交付条件不是List(路径节点),也不是num路径总和,而是一个布尔值

 

解题思路:

  1. 由于交付布尔值,且递归路径明显两条,所以 return helper(left,sum) or helper(right,sum)

  2. 递归边界:

    1)没有子节点时,判断和是否相等

    2) if not root: return False

  3. 判空

 

注意:

  1. 开始用helper的时候一直在想 返回值的问题,用了剪枝应该也返回False

  2. 然后就是递归出口的问题, sum == target 返回True,但是 sum != target的时候不敢返回False,其实是要返回False的

  3. 因为在连环的  (True or False) or ()  .... 中,只要有一个True,连续的or都会让最后的返回值为True,所以大胆的返回False 

 

 

 

posted @ 2020-09-07 10:05  ChevisZhang  阅读(122)  评论(0编辑  收藏  举报