代碼隨想錄算法訓(xùn)練營第十七天|110.平衡二叉樹 、257. 二叉樹的所有路徑 氢哮、404.左葉子之和

●??110.平衡二叉樹?

題目鏈接:https://leetcode.cn/problems/balanced-binary-tree/

解答:https://programmercarl.com/0110.%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91.html#google_vignette

一棵高度平衡二叉樹定義為:一個二叉樹每個節(jié)點 的左右兩個子樹的高度差的絕對值不超過1皇型。


●??257.?二叉樹的所有路徑?

題目鏈接:https://leetcode.cn/problems/binary-tree-paths/

解答:

https://programmercarl.com/0257.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%89%80%E6%9C%89%E8%B7%AF%E5%BE%84.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE

這道題目要求從根節(jié)點到葉子的路徑诬烹,所以需要前序遍歷,這樣才方便讓父節(jié)點指向孩子節(jié)點弃鸦,找到對應(yīng)的路徑绞吁。


前序遍歷以及回溯的過程

回溯:遞歸和回溯是同時進行的,所以需要放在同一個花括號里

paths.remove(paths.size()-1)

進入左右子樹需要回溯

找到一條路徑以后唬格,要存儲:

StringBuffer sPath = new StringBuffer();//初始化

? ? ? ? ? ? for(int i=0; i<path.size()-1;i++){

? ? ? ? ? ? ? ? sPath.append(Integer.toString(path.get(i)));

? ? ? ? ? ? ? ? sPath.append("->");

? ? ? ? ? ? }

? ? ? ? ? ? sPath.append(Integer.toString(path.get(path.size()-1)));//最后一個單獨添加

? ? ? ? ? ? result.add(sPath.toString());


●??404.左葉子之和

題目鏈接:https://leetcode.cn/problems/sum-of-left-leaves/

解答:https://programmercarl.com/0404.%E5%B7%A6%E5%8F%B6%E5%AD%90%E4%B9%8B%E5%92%8C.html

左葉子的明確定義:節(jié)點A的左孩子不為空家破,且左孩子的左右孩子都為空(說明是葉子節(jié)點),那么A節(jié)點的左孩子為左葉子節(jié)點

那么判斷當(dāng)前節(jié)點是不是左葉子是無法判斷的购岗,必須要通過節(jié)點的父節(jié)點來判斷其左孩子是不是左葉子:如果該節(jié)點的左節(jié)點不為空汰聋,該節(jié)點的左節(jié)點的左節(jié)點為空,該節(jié)點的左節(jié)點的右節(jié)點為空喊积,則找到了一個左葉子

if (node.left !=null && node.left.left==null && node.left.right==null){

? ? ? ? ? ? ? ? sum+= node.left.val;

? ? ? ? ? ? }

遞歸法:

1. 確定遞歸的終止條件

2. 先計算左邊所有左子葉的節(jié)點和

3. 判斷這個節(jié)點為父節(jié)點是否存在左子葉 如果存在 將其值加上

4. 計算右邊所有左子葉的節(jié)點和

5.所有左子葉節(jié)點和相加并返回

迭代法:

使用中烹困、前、后序遍歷乾吻,前序和后序遍歷的寫法沒有本質(zhì)卻別髓梅,只是改變了入棧順序并做了一個反轉(zhuǎn)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市绎签,隨后出現(xiàn)的幾起案子枯饿,更是在濱河造成了極大的恐慌,老刑警劉巖诡必,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奢方,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機蟋字,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門稿蹲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人愉老,你說我怎么就攤上這事场绿∑市В” “怎么了嫉入?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長璧尸。 經(jīng)常有香客問我咒林,道長,這世上最難降的妖魔是什么爷光? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任垫竞,我火速辦了婚禮,結(jié)果婚禮上蛀序,老公的妹妹穿的比我還像新娘欢瞪。我一直安慰自己,他們只是感情好徐裸,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布遣鼓。 她就那樣靜靜地躺著,像睡著了一般重贺。 火紅的嫁衣襯著肌膚如雪骑祟。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天气笙,我揣著相機與錄音次企,去河邊找鬼。 笑死潜圃,一個胖子當(dāng)著我的面吹牛缸棵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播谭期,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼堵第,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了崇堵?” 一聲冷哼從身側(cè)響起型诚,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鸳劳,沒想到半個月后狰贯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年涵紊,在試婚紗的時候發(fā)現(xiàn)自己被綠了傍妒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡摸柄,死狀恐怖颤练,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情驱负,我是刑警寧澤嗦玖,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站跃脊,受9級特大地震影響宇挫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜酪术,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一器瘪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绘雁,春花似錦橡疼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至继阻,卻和暖如春耻涛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瘟檩。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工抹缕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人墨辛。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓卓研,卻偏偏與公主長得像,于是被迫代替她去往敵國和親睹簇。 傳聞我的和親對象是個殘疾皇子奏赘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容