<prompt> Kwa kuzingatia mzizi wa mti wa jozi na nambari kamili targetSum, rudisha true ikiwa mti una njia ya mizizi hadi jani hivi kwamba kuongeza thamani zote kwenye njia hiyo ni sawa na targetSum.jani ni nodi isiyo na watoto.Mfano wa 1:Ingizo: mzizi 5,4,8,11,null,13,4,7,2,null,null,null,1, targetSum 22Pato: kweliMaelezo: Njia ya mzizi-hadi-jani yenye jumla inayolengwa imeonyeshwa.Mfano wa 2:Ingizo: mzizi 1,2,3, targetSum 5Pato: si kweliMaelezo: Kuna njia mbili za mizizi-hadi-jani kwenye mti:1 -- 2: Jumla ni 3.1 -- 3: Jumla ni 4.Hakuna njia ya mizizi-hadi-jani yenye jumla 5.Mfano wa 3:Ingizo: mzizi , targetSum 0Pato: si kweliMaelezo: Kwa kuwa mti hauna kitu, hakuna njia kutoka kwa mizizi hadi jani.Vikwazo: Idadi ya nodi kwenye mti iko katika safu 0, 5000. -1000 Node.val 1000 -1000 targetSum 1000  <response>: chatudarasa TreeNode: def __init__binafsi, val0, leftNone, rightNone: self.val val self.left kushoto self.right hakidef hasPathSummizizi, targetSum: ikiwa mzizi ni Hakuna: kurudi Uongo ikiwa root.left ni Hakuna na root.right is None: return targetSum - root.val 0 return hasPathSumroot.left, targetSum - root.val au hasPathSumroot.right, targetSum - root.valmaelezoKanuni huanzia kwenye mzizi wa mti na kufanya utafutaji wa kina wa kwanza. Ikiwa mzizi ni batili, chaguo la kukokotoa litarudi kuwa sivyo kwani hakuna njia ya mti tupu. Ikiwa mzizi ni nodi ya majani, chaguo za kukokotoa hukagua kama targetSum ni sawa na thamani ya nodi ya mizizi.Kisha kwa nodi zisizo za jani, hukagua ikiwa kuna njia ya mzizi-hadi-jani katika mti mdogo wa kushoto au kulia kwa kuita kazi hiyo kwa kujirudia kwenye nodi za mtoto. LengoSum inasasishwa kwa kupunguza thamani ya nodi ya sasa yaani, targetSum - root.val.Mchakato huu unaendelea hadi nodi ya majani inayokidhi Lengwa ipatikane, au njia zote zimechunguzwa na hakuna zinazolingana. 