給定乙個二叉樹和乙個值sum,判斷是否有從根節點到葉子節點的節點值之和等於sum的路徑,
例如:給出如下的二叉樹,sum=22,
5↵ / ↵ 4 8↵ / / ↵ 11 13 4↵ / / ↵ 7 2 5 1返回true,因為存在一條路徑5->4->11->2的節點值之和為22
bool haspathsum(treenode* root, int sum)
if(root->left==null && root->right==null) //到達葉子節點
if(root->left!=null)
if(root->right!=null)
return false;//都沒有找到
}
進一步:返回所有的滿足sum的路徑
思路:同樣採用dfs遍歷 若滿足 存入全域性的res答案中
vector> res;
vector> pathsum(treenode* root, int sum)
void dfs(treenode* root,int sum,vectorpath)
}dfs(root->left,sum-root->val,path);
dfs(root->right,sum-root->val,path);
}
LeetCode二叉樹路徑和
給定乙個二叉樹,它的每個結點都存放著乙個整數值。找出路徑和等於給定數值的路徑總數。路徑不需要從根節點開始,也不需要在葉子節點結束,但是路徑方向必須是向下的 只能從父節點到子節點 二叉樹不超過1000個節點,且節點數值範圍是 1000000,1000000 的整數。示例 root 10,5,3,3,2...
二叉樹 路徑
二叉樹中,從根節點到葉節點的每一條連線,我們稱之為路徑,最短路徑和最長路徑在之前的部落格中,我們已經完成了對他們的討論,現在我們討論一下,輸出一棵二叉樹中全部的路徑資訊。如下所示 public class operation childbinarytreepath root,return resul...
leetcode 二叉樹 對稱二叉樹
給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3 但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3 方法一 遞迴 思路 如果乙個樹的左子樹與右子樹映象對稱,則該樹是對稱的 兩個樹互為映象的...