(*)劍指offer 面試題25:二叉樹中和為某一值的路徑

題目:
輸入一顆二叉樹和一個整數(shù),打印出二叉樹中結(jié)點值的和為輸入整數(shù)的所有路徑。從根結(jié)點開始往下一直到葉結(jié)點所經(jīng)過的結(jié)點形成一條路徑枷遂。

struct BinaryTreeNode {
    int                                          m_nValue;
    BinaryTreeNode*                    m_pLeft;
    BinaryTreeNode*                    m_pRight;
};

解法:

void findPath(BinaryTreeNode*  pRoot, int expectSum) {
    if (pRoot == 0)  return;
    std::vector<int>  path;
    int  currentSum = 0;  
    findPathRecursive(pRoot, expectSum, path, currentSum);
}

void findPathRecursive(BinaryTreeNode*  pRoot, int expectSum, std::vector<int>  path,  int currentSum) {
    if (pRoot == 0)  return;
    path.push_back(pRoot->m_nValue);
    currentSum += pRoot->m_nValue;
    
    bool isLeaf  =  pRoot->m_pLeft == 0 && pRoot->m_pRight == 0;
    if (expectSum == currentSum && isLeaf) {
        // find path
        print(path);
    }

    if (pRoot->m_pLeft != 0) {
        findPathRecursive(pRoot->m_pLeft, expectSum, path, currentSum);
    }
    if (pRoot->m_pRight != 0) {
        findPathRecursive(pRoot->m_pRight, expectSum, path, currentSum);
    }
    
    //返回父節(jié)點之前漆枚,在路徑上刪除當前結(jié)點
    currentSum -= pRoot->m_nValue;
    path.pop_back();
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市膀曾,隨后出現(xiàn)的幾起案子县爬,更是在濱河造成了極大的恐慌,老刑警劉巖添谊,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件财喳,死亡現(xiàn)場離奇詭異,居然都是意外死亡骡尽,警方通過查閱死者的電腦和手機缠局,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門壕吹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人泌枪,你說我怎么就攤上這事★醯海” “怎么了碌燕?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長继薛。 經(jīng)常有香客問我修壕,道長,這世上最難降的妖魔是什么遏考? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任慈鸠,我火速辦了婚禮,結(jié)果婚禮上灌具,老公的妹妹穿的比我還像新娘青团。我一直安慰自己譬巫,他們只是感情好,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布壶冒。 她就那樣靜靜地躺著缕题,像睡著了一般。 火紅的嫁衣襯著肌膚如雪胖腾。 梳的紋絲不亂的頭發(fā)上烟零,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天,我揣著相機與錄音咸作,去河邊找鬼锨阿。 笑死,一個胖子當著我的面吹牛记罚,可吹牛的內(nèi)容都是我干的墅诡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼桐智,長吁一口氣:“原來是場噩夢啊……” “哼末早!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起说庭,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤然磷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后刊驴,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體姿搜,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年捆憎,在試婚紗的時候發(fā)現(xiàn)自己被綠了舅柜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡躲惰,死狀恐怖致份,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情礁扮,我是刑警寧澤知举,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站太伊,受9級特大地震影響雇锡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜僚焦,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一锰提、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦立肘、人聲如沸边坤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茧痒。三九已至,卻和暖如春融蹂,著一層夾襖步出監(jiān)牢的瞬間旺订,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工超燃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留区拳,地道東北人。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓意乓,卻偏偏與公主長得像樱调,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子届良,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359

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