LeetCode 第112题 路径总和 做题记录
题目描述
我的解法
思路
参照之前记录所有路径的题目,使用递归法
- 确定参数和返回值
不设置返回值
参数:访问节点,从根节点到当前节点路径上的值
设置一个全局变量,boolean型,初始值设为false,碰到满足条件的修改为true - 确定终止条件
碰到叶子节点,进行条件判断和处理 - 确定单层处理逻辑
将当前节点的值与累积的路径值相加
如果左节点不为空,访问左节点
如果左节点不为空,访问右节点
对应Java代码
class Solution {
private boolean res = false;
public boolean hasPathSum(TreeNode root, int targetSum) {
if(root == null){
return res;}
traversal(root, 0, targetSum);
return res;
}
public void traversal(TreeNode cur, int pathSum, int targetSum