bool preScan(TreeNode* root, int cur_sum, int sum) { cur_sum = cur_sum + root->val; if (root->left == NULL && root->right == NULL) { if (cur_sum == sum) return true; return false; } if (root->left && preScan(root->left, cur_sum, sum)) { return true; } if (root->right && preScan(root->right, cur_sum, sum)) { return true; } return false; }
int main(){ int i,j; char * shape = " \\/"; for(i=0;i<10;i++){ for(j=0;j<10;j++){ A[i][j] = N; } } preScan(); testMirror(0,count); printMirror(); }
bool hasPathSum(TreeNode* root, int sum) { if (root == NULL) return false; int cur_sum = 0; return preScan(root, cur_sum, sum); }