可以按照下面2步修改昨天那道題,即可得到今天這道題並求解
step1:求根結點到任意結點(而非葉子結點)之間的路徑
處理這一差異,只需要將昨天那道題判斷語句中的葉子結點條件刪除即可,即只判斷路徑長度是否相等,不管是不是葉子結點
step2:求任意結點(而非根結點)到任意結點之間的路徑
處理這一差異,只需基於昨天那道題的解法,再套一層遞迴,即不止求根結點,還要遞迴求解其左右子樹並將路徑數相加
// problem: leetcode 437
// url:
// tags: tree recursion dfs
// difficulty: medium
#include using namespace std;
struct treenode
};class solution
public:
int pathsum(treenode* root, int sum)
};
歡迎討論和交流!
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 ...