樹的遍歷三種算法 寫一個(gè)java層次遍歷二叉樹,簡(jiǎn)單點(diǎn)就可以,我要的是代碼,不是純文字說(shuō)明?
寫一個(gè)java層次遍歷二叉樹,簡(jiǎn)單點(diǎn)就可以,我要的是代碼,不是純文字說(shuō)明?導(dǎo)入java.util.LinkedListpublic class LevelOrder{public void level
寫一個(gè)java層次遍歷二叉樹,簡(jiǎn)單點(diǎn)就可以,我要的是代碼,不是純文字說(shuō)明?
導(dǎo)入java.util.LinkedList
public class LevelOrder
{
public void levelIterator(BiTree root)
{
if(root==null)
{
return
}
LinkedList<BiTree> queue=new LinkedList<BiTree>()
BiTree current=null隊(duì)列.報(bào)價(jià)(root)//對(duì)根節(jié)點(diǎn)進(jìn)行排隊(duì)
while(!queue.i空())
{
當(dāng)前=隊(duì)列.輪詢()//退出team head元素并訪問(wèn)系統(tǒng)打印( 當(dāng)前值“-->”)
如果(當(dāng)前。左側(cè)! =null)//如果當(dāng)前節(jié)點(diǎn)的左節(jié)點(diǎn)不為空,則加入隊(duì)列
{隊(duì)列.報(bào)價(jià)( 當(dāng)前。左側(cè))
}
如果(當(dāng)前。右! =null)//如果當(dāng)前節(jié)點(diǎn)的右節(jié)點(diǎn)不為空,則對(duì)右節(jié)點(diǎn)進(jìn)行排隊(duì)
{隊(duì)列.報(bào)價(jià)( 當(dāng)前。右)
}
}
}
}