LeetCode 437 路徑總和 III

2022-03-26 04:27:23 字數 1811 閱讀 8866

difficulty:中等

給定乙個二叉樹,它的每個結點都存放著乙個整數值。

找出路徑和等於給定數值的路徑總數。

路徑不需要從根節點開始,也不需要在葉子節點結束,但是路徑方向必須是向下的(只能從父節點到子節點)。

二叉樹不超過1000個節點,且節點數值範圍是 [-1000000,1000000] 的整數。

示例:

root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8

10/ \

5 -3

/ \ \

3 2 11

/ \ \

3 -2 1

返回 3。和等於 8 的路徑有:

1\. 5 -> 3

2\. 5 -> 2 -> 1

3\. -3 -> 11

solution

language: ****

解法一:暴力遍歷。空間複雜度為o(1);層序遍歷的時間複雜度為o(n),在求每個節點的路徑和時候的時間複雜度為o(n) (single sided tree) to o(logn)(balanced tree),所以總的時間複雜度為o(nlogn) to o(n^2)。

解這道題的時候不能根據leetcode 113. 路徑總和 ii - swordspoet - 生搬硬套,113題的要求是從根節點到葉子節點的路徑,而本題的要求是路徑不需要從根節點開始,也不需要在葉子節點結束,但是路徑方向必須是向下的。像下圖的這種情形,sum為-1的時候路徑有4條,而不是113題中獲得的3條。

Leetcode 437 路徑總和 III

給定乙個二叉樹,它的每個結點都存放著乙個整數值。找出路徑和等於給定數值的路徑總數。路徑不需要從根節點開始,也不需要在葉子節點結束,但是路徑方向必須是向下的 只能從父節點到子節點 二叉樹不超過1000個節點,且節點數值範圍是 1000000,1000000 的整數。示例 題目解釋 由題意可知,即從二叉...

LeetCode 437 路徑總和 III

給定乙個二叉樹,它的每個結點都存放著乙個整數值。找出路徑和等於給定數值的路徑總數。路徑不需要從根節點開始,也不需要在葉子節點結束,但是路徑方向必須是向下的 只能從父節點到子節點 二叉樹不超過1000個節點,且節點數值範圍是 1000000,1000000 的整數。示例 root 10,5,3,3,2...

leetcode 437 路徑總和 III

給定乙個二叉樹,它的每個結點都存放著乙個整數值。找出路徑和等於給定數值的路徑總數。路徑不需要從根節點開始,也不需要在葉子節點結束,但是路徑方向必須是向下的 只能從父節點到子節點 二叉樹不超過1000個 示例 root 10,5,3,3,2,null,11,3,2,null,1 sum 8 10 5 ...