【leetcode】path-sum

来源:互联网 发布:打卡机怎么下载数据 编辑:程序博客网 时间:2024/05/16 06:47



//先根遍历,每次修改sum值//2014年8月23日10:52:51//2014年8月23日11:07:50#include <iostream>using namespace std; struct TreeNode {     int val;     TreeNode *left;     TreeNode *right;     TreeNode(int x) : val(x), left(NULL), right(NULL) {} };class Solution {public:    bool hasPathSum(TreeNode *root, int sum) {        if(root == NULL){//!!注意判断树是否为空            return false;        }        if(root->left != NULL && hasPathSum(root->left,sum - root->val) == true){            return true;        }        if(root->right != NULL && hasPathSum(root->right,sum - root->val) == true){            return true;        }        if(root->left==NULL && root->right==NULL && root->val==sum){            return true;        }        return false;    }};int main(){    TreeNode node1(5);    TreeNode node2(4);    TreeNode node3(8);    TreeNode node4(11);    TreeNode node5(13);    TreeNode node6(4);    TreeNode node7(7);    TreeNode node8(2);    TreeNode node9(1);    node1.left = &node2;    node1.right = &node3;    node2.left = &node4;    node3.left = &node5;    node3.right = &node6;    node4.left = &node7;    node4.right = &node8;    node6.right = &node9;    Solution A;    cout << A.hasPathSum(&node1,22) << endl;    return 0;}


0 0
原创粉丝点击