主页 > 开源代码  > 

力扣-二叉树-112路径总和

力扣-二叉树-112路径总和
思路

使用先序遍历,回溯不同节点的值

代码 class Solution { public: bool havePath = false; void prefix(TreeNode* node, int target, int result){ if(node->left == nullptr && node->right == nullptr && result + node->val == target){ havePath = true; return ; } if(havePath) return; if(node->left){ result += node->val; prefix(node->left, target, result); result -= node->val; } if(node->right){ result += node->val; prefix(node->right, target, result); result -= node->val; } } bool hasPathSum(TreeNode* root, int targetSum) { if(root == nullptr) return false; prefix(root, targetSum, 0); return havePath; } };

标签:

力扣-二叉树-112路径总和由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“力扣-二叉树-112路径总和