classSolution{public:boolhasPathSum(TreeNode*root,intsum){// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
TreeNode**seq=newTreeNode*[10000];TreeNode**rseq=newTreeNode*[10000];if(root==NULL)returnfalse;else{if(root->left==NULL&&root->right==NULL){if(root->val==sum)returntrue;elsereturnfalse;}intindex=0;seq[index++]=root;while(true){inttop=index;index=0;for(inti=0;i<top;i++){if(seq[i]!=NULL){if(seq[i]->left!=NULL){seq[i]->left->val+=seq[i]->val;rseq[index++]=seq[i]->left;if(seq[i]->left->val==sum&&seq[i]->left->left==NULL&&seq[i]->left->right==NULL)returntrue;}if(seq[i]->right!=NULL){seq[i]->right->val+=seq[i]->val;rseq[index++]=seq[i]->right;if(seq[i]->right->val==sum&&seq[i]->right->left==NULL&&seq[i]->right->right==NULL)returntrue;}}}if(index==0)break;for(inti=0;i<index;i++){seq[i]=rseq[i];}}returnfalse;}}};