当前位置: 首页 > 后端技术 > PHP

LeetcodePHP题解--D89653.TwoSumIV-InputisaBST

时间:2023-03-29 19:19:53 PHP

D89653.TwoSumIV-InputisaBSTtopiclink653.TwoSumIV-InputisaBSTtopic分析给定一棵二叉树和一个目标数,判断是否可以通过二叉树中任意两个节点的值相加得到。思路1遍历的时候,先把节点存起来,给每一个值加上,判断是否等于要求的值。该算法显然效率较低。思路2遍历时,将自身作为key存入数组。使用isset函数判断与请求数的差值是否在数组中。存在既返回。否则,遍历子节点。最终代码val=$value;}*}*/classSolution{protected$has=[];受保护的$hasResult=false;/***@paramTreeNode$root*@paramInteger$k*@returnBoolean*/functionfindTarget($root,$k){if(is_null($root)){return;}if(isset($this->has[$k-($root->val)])){$this->hasResult=true;返回$this->hasResult;}else{$this->has[$root->val]=true;if(!$this->findTarget($root->left,$k)){$this->findTarget($root->right,$k);}}返回$this->hasResult;}}如果您觉得本文对您有用,欢迎用爱心募捐。