1. 程式人生 > >leetcode 112 Path Sum 路徑和

leetcode 112 Path Sum 路徑和

pub int com 根節點 inf info return 使用遞歸 sum

技術分享圖片

437 path sum

C++:使用遞歸先序遍歷,記錄根節點到當前節點的路徑和,如果當前節點是葉節點,判斷是否等於sum

 1 /**
 2  * Definition for a binary tree node.
 3  * struct TreeNode {
 4  *     int val;
 5  *     TreeNode *left;
 6  *     TreeNode *right;
 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 8  * };
 9  */
10
class Solution { 11 public: 12 bool hasPathSum(TreeNode* root, int sum) { 13 bool res=false; 14 dfs(root,sum,0,res); 15 return res; 16 } 17 void dfs(TreeNode* node,int sum,int curSum,bool &res){ 18 if(!node) return; 19 curSum+=node->val;
20 if(node->left==NULL&&node->right==NULL&&curSum==sum) res=true; 21 dfs(node->left,sum,curSum,res); 22 dfs(node->right,sum,curSum,res); 23 } 24 };

leetcode 112 Path Sum 路徑和