【算法刷题3】二叉树的最大深度
生活随笔
收集整理的這篇文章主要介紹了
【算法刷题3】二叉树的最大深度
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最大深度是所有葉子節(jié)點(diǎn)的深度的最大值,深度是指樹(shù)的根節(jié)點(diǎn)到任一葉子節(jié)點(diǎn)路徑上節(jié)點(diǎn)的數(shù)量,因此從根節(jié)點(diǎn)每次往下一層深度就會(huì)加1。因此二叉樹(shù)的深度就等于根結(jié)點(diǎn)這個(gè)1層加上左子樹(shù)和右子樹(shù)深度的最大值。而每個(gè)子樹(shù)我們都可以看成一個(gè)根節(jié)點(diǎn),繼續(xù)用上述方法求的深度,于是我們可以對(duì)這個(gè)問(wèn)題劃為子問(wèn)題,利用遞歸來(lái)解決:
step 1: 終止條件,當(dāng)進(jìn)入葉子節(jié)點(diǎn)后,再進(jìn)入子節(jié)點(diǎn),即為空,沒(méi)有深度可言,返回0.
step 2: 返回值,每一級(jí)按照上述公式,返回兩邊子樹(shù)深度的最大值加上本級(jí)的深度,即加1.
step 3:本級(jí)任務(wù),每一級(jí)的任務(wù)就是進(jìn)入左右子樹(shù),求左右子樹(shù)的深度。
總結(jié)
以上是生活随笔為你收集整理的【算法刷题3】二叉树的最大深度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: spring 优越性实践
- 下一篇: ActionScript 3 作用域内部