二叉樹的所有路徑

2022-01-10 09:23:47 字數 870 閱讀 6036

給定乙個二叉樹,返回所有從根節點到葉子節點的路徑。

說明: 葉子節點是指沒有子節點的節點。

輸入:

1/ \

2 3

\ 5

輸出: ["1->2->5", "1->3"]

解釋: 所有根節點到葉子節點的路徑為: 1->2->5, 1->3

/**

* definition for a binary tree node.

* function treenode(val)

*//**

* @param root

* @return

*/var binarytreepaths = function(root)

if(root.left) dfs(root.left, `$->$`);

if(root.right) dfs(root.right, `$->$`);

}dfs(root, `$`)

return target;

};

深度優先遍歷二叉樹,將路徑節點拼接字串,遍歷到根節點之後將拼接的字串推入目標陣列,首先如果沒有節點則直接返回乙個空陣列,之後定義目標陣列target,如果沒有定義節點則返回空,如果沒有左孩子以及右孩子即葉子節點,則將快取字串推入陣列並返回結束遞迴,如果存在左孩子,則向左遞迴並將左孩子的節點值拼接到字串並傳遞,如果存在右孩子,則向右遞迴並將右孩子節點的值拼接到字串並傳遞,之後啟動遞迴,注意題目要求是字串而不是數字,所以需要將啟動時的節點值轉為字串,最後返回目標陣列即可。

二叉樹的所有路徑

一 問題描述 給一棵二叉樹,找出從根節點到葉子節點的所有路徑。樣例 給出下面這棵二叉樹 1 2 3 5 所有根到葉子的路徑為 1 2 5 1 3 二 解題思路 運用遞迴的思想查詢二叉樹的所有路徑,定義乙個向量用來儲存路徑,然後運用前序遍歷二叉樹,返回查詢的的路徑,在庫檔案string中,to str...

二叉樹的所有路徑

描述 給一棵二叉樹,找出從根節點到葉子節點的所有路徑。樣例 給出下面這棵二叉樹 1 2 3 5 所有根到葉子的路徑為 1 2 5 1 3 解題思路 要找到二叉樹的所有路徑,就相當於從根節點出發一直到葉子節點。我們可以在遍歷的基礎之上完成這項操作,但是又有所不同。首先從根節點出發,先遍歷它的左子樹,直...

二叉樹的所有路徑

問題描述 給一棵二叉樹,找出從根節點到葉子節點的所有路徑。樣例 給出下面這棵二叉樹 1 2 3 5所有根到葉子的路徑為 1 2 5 1 3 解題思路 若二叉樹不為空,將節點新增到向量中,左右子樹進行遞迴,通過函式呼叫然後輸出。definition of treenode class treenode...