码迷,mamicode.com
首页 > 其他好文 > 详细

Path Sum

时间:2014-10-06 01:23:59      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:leetcode   算法   

Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.

For example:
Given the below binary tree and sum = 22,

              5
             /             4   8
           /   /           11  13  4
         /  \              7    2      1

return true, as there exist a root-to-leaf path 5->4->11->2 which sum is 22.

递归进行深度搜索

原题链接

class Solution
 {
 public:
 	bool hasPathSum(TreeNode *root, int sum)
 	{
 		if(root == NULL)
 		return false;
 		else
 		return dfs(root,sum);
 	}
 	bool dfs(TreeNode *root, int sum)
 	{
		if (root == NULL)
		{
			return false;
		}
		if ((root->right == NULL) && (root->left ==NULL) )
 		{
 			if (sum == root->val)
 				return true;
 			else
 				return false;
 		}
 		return (dfs(root->left, sum - root->val) || dfs(root->right, sum - root->val));

 	}
 };


Path Sum

标签:leetcode   算法   

原文地址:http://blog.csdn.net/hongkangwl/article/details/39809149

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!