<prompt> Kwa kuzingatia mizizi ya miti miwili ya binary p na q, andika chaguo za kukokotoa ili kuangalia ikiwa ni sawa au la.Miti miwili ya binary inachukuliwa kuwa sawa ikiwa inafanana kimuundo, na nodi zina thamani sawa.Mfano wa 1:Ingizo: p 1,2,3, q 1,2,3Pato: kweliMfano wa 2:Ingizo: p 1,2, q 1,null,2Pato: si kweliMfano wa 3:Ingizo: p 1,2,1, q 1,1,2Pato: si kweliVikwazo: Idadi ya nodi katika miti yote miwili iko katika safu 0, 100. -104 Node.val 104  <response>: chatudarasa TreeNode: def __init__binafsi, val0, leftNone, rightNone: self.val val self.left kushoto self.right hakidef is_same_treep, q: ikiwa p ni Hakuna na q ni Hakuna: kurudi Kweli ikiwa p ni Hakuna au q sio Hakuna: kurudi Uongo ikiwa p.val ! q.val: kurudi Uongo return is_same_treep.left, q.left na is_same_treep.right, q.rightmaelezoKanuni inayotumika ni upitishaji wa kina-kwanza wa miti yote miwili. Italinganisha nodi katika kila ngazi ya mti, na kurudisha uwongo ikiwa nodi zina maadili tofauti au ikiwa nodi moja haipo katika moja ya miti. Algorithm itarudi kweli ikiwa nodi zote kwenye miti yote miwili ni sawa.Katika kila kiwango, chaguo za kukokotoa hukagua ikiwa nodi zote mbili ni batili, ikionyesha kwamba tumefika mwisho wa miti yote miwili na lazima ziwe sawa. Halafu huangalia ikiwa nodi yoyote ni batili, ikionyesha kuwa mti mmoja unakosa nodi na haziwezi kuwa sawa. Ikiwa nodi zote mbili zina thamani sawa, basi tunaangalia kwa kurudia watoto wao wa kushoto na kulia. Ikiwa watoto wote ni sawa, chaguo la kukokotoa linarudi kuwa kweli. Ikiwa wakati wowote nodi zinapatikana kuwa tofauti, chaguo la kukokotoa linarudi kwa uwongo. 