<prompt> Tekeleza darasa la BSTIterator ambalo linawakilisha kirudisha nyuma in-order traversal ya mti wa utafutaji wa binary BST: BSTIteratorTreeNode root Huanzisha kitu cha darasa la BSTIterator. mzizi wa BST umetolewa kama sehemu ya kijenzi. Kielekezi kinafaa kuanzishwa kwa nambari isiyokuwepo ndogo kuliko kipengele chochote katika BST. boolean hasNext Hurejesha true ikiwa kuna nambari katika kingo iliyo upande wa kulia wa kielekezi, vinginevyo inarejesha false. int next Husogeza kielekezi kulia, kisha hurejesha nambari kwenye kielekezi.Ona kwamba kwa kuanzisha kielekezi kwa nambari ndogo zaidi isiyokuwepo, simu ya kwanza kwa ifuatayo itarudisha kipengele kidogo zaidi katika BST.Unaweza kudhani kuwa simu za next zitakuwa halali kila wakati. Hiyo ni, kutakuwa na angalau nambari inayofuata katika upakuaji wa mpangilio wakati next inapoitwa.Mfano wa 1:Ingizo BSTIterator , ijayo , ifuatayo, inayofuata, ijayo , hasNext , ifuatayo, inayofuata, ijayo, inayofuata7, 3, 15, null, null, 9, 20, , , , , , , , , Patonull, 3, 7, kweli, 9, kweli, 15, kweli, 20, uongoUfafanuziBSTIterator bSTIterator BSTIterator mpya7, 3, 15, null, null, 9, 20;bSTIterator.ijayo; kurudi 3bSTIterator.ijayo; kurudi 7bSTIterator.hasNext; kurudi KwelibSTIterator.ijayo; kurudi 9bSTIterator.hasNext; kurudi KwelibSTIterator.ijayo; kurudi 15bSTIterator.hasNext; kurudi KwelibSTIterator.ijayo; kurudi 20bSTIterator.hasNext; kurudi UongoVikwazo: Idadi ya nodi kwenye mti iko katika safu 1, 105. 0 Node.val 106 Angalau simu 105 zitapigiwa hasNext, na ijayo.Fuatilia: Je, unaweza kutekeleza ijayo na hasNext kukimbia kwa wastani O1 wakati na kutumia Oh kumbukumbu, ambapo h ni urefu wa mti?  <response>: chatudarasa la BSTIterator: def __init__binafsi, mzizi: self.stack sukuma_kushotomzizi def nextbinafsi: top self.stack.pop sukuma_kushotojuu.kulia kurudi juu.val def hasNextself: rudisha lenself.stack 0 def push_leftbinafsi, nodi: wakati nodi: self.stack.appendnodi nodi nodi.kushotomaelezoKanuni huanzisha mrundikano tupu na kusukuma nodi zote za kushoto kutoka kwenye mzizi hadi nodi ya chini kabisa kwenye mti. Kwa kila simu ifuatayo , kanuni hutokeza nodi ya juu kwenye rafu, ambayo ni kipengele kidogo zaidi kinachofuata, na kuongeza mti mdogo wa kushoto wa kipengee kilichotolewa kwenye rafu ikiwa nodi iliyotokezwa ina mtoto wa kulia. Njia ya hasNext hukagua ikiwa kuna nodi zozote zilizobaki kwenye rafu. Kwa njia hii, kirudia huwa na kipengele kidogo kinachofuata juu ya rafu. 