LeetCode257題 二叉樹的所有路徑

2021-09-02 23:53:37 字數 575 閱讀 6078

關鍵點是路徑的定義,即根結點到葉子節點。而判斷是否為葉子節點只需要判斷其左右子結點是否都為空即可。

遞迴實現,如果當前節點不為空就將其值val加入到stringbuffer中,並在此條件下判斷它是否為葉子節點(即左右子節點都為空),如果是則將stringbuffer新增到list中,否則,如果有左子節點,則遞迴到左子節點,如果有右子節點,則遞迴到右子節點。需要注意的是,遞迴的時候,要新增「->」字串,並且每個遞迴結束後,要刪除最後的「->val」以還原到以前的狀態。

public listbinarytreepaths(treenode root) 

public void fun(treenode root,stringbuffer sb,listlist)

if(root.left != null)

if(root.right != null)

}

這道題本來並不難,但要求輸出的路徑中需要包含「->」,這樣在刪除的時候就多了一點需要考慮的情況。

LeetCode257 二叉樹的所有路徑

好多天沒寫演算法了,好多天也不更了。今天開始繼續啊,加油!先來乙個簡單的二叉樹練練手哈 給定乙個二叉樹,返回從根節點到葉節點的所有路徑。例如,給定以下二叉樹 1 2 3 5所有根到葉路徑是 1 2 5 1 3 二叉樹先序遍歷一下,遞迴把節點值挨個加入就好了 definition for a bina...

leetcode 257 二叉樹的所有路徑

給定乙個二叉樹,返回所有從根節點到葉子節點的路徑。說明 葉子節點是指沒有子節點的節點。示例 輸入 1 2 3 5 輸出 1 2 5 1 3 解釋 所有根節點到葉子節點的路徑為 1 2 5,1 3 definition for a binary tree node.struct treenode cl...

Leetcode 257 二叉樹的所有路徑

給定乙個二叉樹,返回所有從根節點到葉子節點的路徑。說明 葉子節點是指沒有子節點的節點。示例 輸入 1 2 3 5 輸出 1 2 5 1 3 解釋 所有根節點到葉子節點的路徑為 1 2 5,1 3首先要寫一下我自己的錯誤的思路 利用回溯,到了葉子結點後將當前遍歷到的一位陣列加入到要返回的二維陣列中,當...