树路径总和

练习:路径总和
给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。

叶子节点 是指没有子节点的节点。

 

 

 

 

 第一次提交:没有完全通过,记住遍历到叶子节点为止,不然会空指针异常

为什么只通过了一部分,。。。。

 

 

 1 class Solution {
 2     int targetSum=0;
 3     public boolean hasPathSum(TreeNode root, int targetSum) {
 4         if(root==null)
 5          return false; 
 6         if(root.left==null&&root.right==null)
 7              return targetSum-root.val==0;
 8             boolean b1= hasPathSum(root.left, targetSum-root.val);
 9             boolean b2=hasPathSum(root.right,targetSum-root.val);
10             return b1=b1||b2;
11     }
12     
13 }

主要注意几个问题

1 判断叶子节点和本节点为空是不一样的,之所以实例没完全通过是因为,判断叶子节点和判断null混淆了

2本叶子节点计数不要忘记加上,不然一直出错

 

posted @ 2021-11-03 11:02  橘子味汽水  阅读(30)  评论(0编辑  收藏  举报