刷題96 樹(三)

2022-07-28 03:36:09 字數 1300 閱讀 8342

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

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

示例:輸入:

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)

return arr;

function rode(root, link)}};

給出一棵二叉樹,其上每個結點的值都是 0 或 1 。每一條從根到葉的路徑都代表乙個從最高有效位開始的二進位制數。例如,如果路徑為 0 -> 1 -> 1 -> 0 -> 1,那麼它表示二進位制數 01101,也就是 13 。

對樹上的每一片葉子,我們都要找出從根到該葉子的路徑所表示的數字。

以 10^9 + 7 為模,返回這些數字之和。

示例:

輸入:[1,0,1,0,1,0,1]

輸出:22

解釋:(100) + (101) + (110) + (111) = 4 + 5 + 6 + 7 = 22

樹中的結點數介於 1 和 1000 之間。

node.val 為 0 或 1 。

遞迴遍歷左右子樹;

當左子樹和右子樹都為空的時候,說明遍歷到葉子節點,求和;

每乙個節點上的數字轉換為10進製並加到下乙個節點上。

/**

* definition for a binary tree node.

* function treenode(val)

*//**

* @param root

* @return

*/var sumroottoleaf = function(root)

return sum % (math.pow(10, 9) + 7);

function rode(root,link)else}};

刷題94 樹(一)

題目鏈結題目描述 實現乙個函式,檢查二叉樹是否平衡。在這個問題中,平衡樹的定義如下 任意乙個節點,其兩棵子樹的高度差不超過 1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 157返回 true 示例 2 給定二叉樹 1,2,2,3,3,null,null,4,4 ...

刷題98 樹(五)

題152 題154 題目鏈結題目描述 請實現乙個函式,用來判斷一棵二叉樹是不是對稱的。如果一棵二叉樹和它的映象一樣,那麼它是對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 34 43但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 33示例 ...

leetcode刷題之樹

樹的三種遍歷方式 的 非遞迴版本 中序遍歷 下面的解法就是相當於 第一趟先把元素按照中序的順序進棧 第二趟 是相當於把 null標記過的位置給拿出來 class solution else return res 先序遍歷 class solution else return res 公共父節點 pu...